home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-05-01 | 231.0 KB | 5,499 lines | [TEXT/R*ch] |
- Gestalt Selectors List 2.9
- ==========================
- First published: 12 October 1992, 13:15 CET (GMT+1)
- Last version: 2 March 1995, 21:40 CET (GMT+1)
- Previous update: 23 April 1995, 20:00 CET (GMT+2, DST)
- Last modified : 1 May 1995, 20:45 CET (GMT+2, DST)
-
- This document lists all selectors for use with the Gestalt Manager known to
- the editor. These can include selector codes installed by Apple (system)
- software or by software from third and so called "fourth" parties (your
- software?).
- The information in this list is useful for programmers and other people who
- can use the Gestalt Manager with their software (i.e. Apple Guide) perhaps
- even using externals (i.e. HyperCard, 4th Dimension etc.).
-
- This file can be best viewed with a mono-spaced font like Monaco. Because
- it is wrapped as setext you can use several utilities to index and read it.
- For the Macintosh you can use Easy View and on a UNIX system sv (setext
- viewer) works fine. Both are available by FTP from sumex-aim.stanford.edu
- (or its mirrors!), archived respectively as:
- ftp://sumex-aim.stanford.edu/info-mac/text/easy-view-261.hqx
- ftp://sumex-aim.stanford.edu/info-mac/text/setext-viewer-05-unix.uu
-
- A single question mark indicates an uncertainty regarding the information
- in front of the question mark. Three question marks indicate complete
- absence of the information.
- See for more information about this list the chapters at the end.
-
- Contents
- --------
- Gestalt Selectors List
- Contents
- Contributions
- Changes Overview
- Wish List
- Gestalt Selector Codes
- Apple System Software (A-F)
- Apple System Software (G-L)
- Apple System Software (M-Q)
- Apple System Software (R-Z)
- Apple Additional Software
- Third Parties Software
- Unknown Gestalt Selector Codes
- Apple Software
- Third Parties Software
- Gestalt Manager Calls
- Gestalt Manager Routines
- Gestalt Value Routines
- Undocumented Gestalt Manager Routines
- Kilo-liners
- Direct Gestalt Calls
- Direct GestaltValue Calls
- GestaltSelectorZero
- GestaltBitTest
- Call Gestalt Function Direct
- Reports
- Accessing the Gestalt Manager
- AppleShare File & Print Server selector codes
- AppleTalk
- Copy protection using Gestalt
- Environs & SysEnvirons
- Executor Mac-emulator
- Gestalt Apple Event
- Gestalt Applications
- GestaltValue
- GestaltValue & CodeWarrior Problem
- Glue code
- Machine Names
- Macintosh Application Environment
- Macintosh Clones
- Modern Memory Manager
- PPC Libraries
- QuickTime
- RAM Doubler
- General Info
- System Managers
- Gestalt Problems
- History
- Abbreviations
- Sources
- Definitions and Format
- Use in Language
- Definitions
- Format Selector Entry
- Format Version Numbers
- About this list
- Availability
- Acknowledgements
- Legal Stuff
- Editor's Address
-
- Contributions
- -------------
- This section lists the people who contributed information which is now
- included with this version of the list.
-
- ===========================================================================
- Contributions to the selector sections
- ===========================================================================
- Person Software Selector(s) added/changed
- ---------------------------------------------------------------------------
- Anonymous QuickDraw 3D ext? qd3d
- Lawrence D'Oliveiro QuickDraw GX grfx, pmgr, qdgx
- Andy Fyfe System (enablers) mach
- John Mancino Finder fndr
- Open Transport ot , otan
- System (enablers) aslm, mach
- Mark Nagata Aladdin Desktop Tools
- Desktop Makeover cp YuHu
- Desktop Shortcut cp Cut!
- Desktop SpeedBoost cp Info, YaHu, YoHo
- Now Utilities
- Now FolderMenus cp FMnu
- Now QuickFiler Extension ext
- NCex
- Now Startup Manager cp
- NWin
- Fabrizio Oddone Thread Mgr/System thds
- Marco Piovanelli AliasDragger ext fndx
- Ken Prehoda QuickDraw GX pmgr
- Quinn "The Eskimo" ICeTEe ext ICTE
- Eric-Paul Rebel System (enablers) hdwr, mach, tabl, tv
- Rene Ros 68K DebugServicesINIT ext
- Norm
- CDU cp CDUf, CDUt, PBUt
- Find File Extension ext fndf
- General Controls cp gpad
- LaserWriter Bridge cp LASB
- MegaPhone Menu ext CYP8
- QuickDraw GX qdgx
- QuickDraw GX? pxtn
- Speech Manager ext ttsc
- System (enablers) cput, intd, kbd , qd ,
- scri, snd , te , tv ,
- xttt
- System 7.5 Update fsm , mach
- TappyType cp TapT
- Telephone Manager Extension ext
- tele
- Video Startup ext tv
- unknown Frs1, FrsH, gV0A, GVfd,
- GVms, IACi, kPow, SnLv,
- TapT
- Alex Rosenberg System/Comm. Toolbox ctbm, ctbu, ctbv, conn, crm
- Patrick Stadelmann General Controls cp gprf
- John Tsombakos System? tv
- ---------------------------------------------------------------------------
-
- ===========================================================================
- Contributions to the non-selector sections
- ===========================================================================
- Person Chapter/Section
- ---------------------------------------------------------------------------
- John W. Baxter Reports/Gestalt Apple Event
- Eric-Paul Rebel General Info/Gestalt Problems
- Rene Ros General Info/System Managers
- General Info/Gestalt Problems
- General Info/URL
- Reports/Macintosh Clones
- About this List/Availability/Internet/WWW
- Alex Rosenberg, Apple Computer Inc.
- General Info/Gestalt Problems
- ---------------------------------------------------------------------------
-
- John W. Baxter wrote a useful report on the new Gestalt Apple event which
- is available with the Scriptable Finder (more specific: the Finder
- Scripting Extension).
-
- Patrick Stadelmann hacked his way into the General Controls control panel
- and found that the 'gprf' selector provides information about the
- settings. This is really useful information! But not confirmed by Apple...
-
- According to Alex Rosenberg none of the Communications TB selectors are
- installed by the Communications Toolbox for System 6.
-
- Eric-Paul Rebel toughed me the structure of the 'gbly' resource which is
- in every enabler and lists the machine IDs for the machines it is used
- by. Based on that, I found several new machine IDs inside the
- System 7.5 Update enabler (version 1.0) and MAE Enabler (version 1.0).
-
- CDU by Connectix also supports the 'SAVC' and 'SAVR' selectors.
-
- Some information on Macintosh clones and Gestalt was added.
- The Shared Library Mgr and File System Mgr selectors were moved from the
- Apple Additional Software to the Apple System Software section.
-
- Second WWW site now available at the home site of the editor. The
- availability of a Setext to HTML converter (by Hans Verbrugge) makes it
- easier to have several URLs mixed in with the text instead of special
- chapters. Hence, the URL chapter is removed and most of the 'Related
- Software' chapter was moved to the 'Reports' chapter or elsewhere.
-
- GSL is now available on the Developer CD-ROM from Apple Computer, Inc.
- Starting with the May issue, it can be found in this folder:
- :Tool Chest:OS Utilities:
-
- Legal Stuff chapter was revised.
-
- Changes Overview
- ----------------
- Added selectors
- Apple System : -
- Apple Add. : qd3d
- Third Parties : ICTE
- Added unknown
- Apple Softw. : CYP8, fndf, fndx, Frs1, FrsH, LASB, Norm, otan, SnLv
- Third Parties : CDUf, CDUt, Cut!, FMnu, GVfd, GVms, Info, kPow, NCex,
- NWin, PBUt, TapT, YaHu, YoHo, YuHu
- Changed selectors
- Apple System : aslm, cput, ctbm, ctbu, ctbv, conn, crm , fndr, fsm ,
- hdwr, intd, kbd , mach, qd , qdgx, scri, snd , tabl,
- te , tele, ttsc, tv , xttt
- Apple Add. : grfx, pmgr, qdgx
- Third Parties : -
- Changed unknown
- Apple Softw. : gpad, gprf, ot , pxtn
- Third Parties : -
- Previously unknown
- Apple System : -
- Apple Add. : -
- Third Parties : -
- Includes updates 2.8.1 up to and including 2.8.5, sent to subscribers of
- the mailing list.
-
- Wish list
- ---------
- The table below lists the topics on which more information is needed
- regarding the Gestalt selectors which provide information about these
- topics.
-
- ===========================================================================
- WANTED
- ===========================================================================
- Information wanted about:
- ---------------------------------------------------------------------------
- ATA Manager (the SCSI Mgr equiv. for IDE)
- DR Emulator (short for dynamic recompiling emulator, on new Power Macs)
- PCI Macintosh computers (machine IDs !?)
- Pippin
- QuickTime VR
- RAID (compatible drivers installed?)
-
- and more info for the General Info/System Managers section
- ---------------------------------------------------------------------------
-
- Gestalt Selector Codes
- ======================
- The following sections list selector codes of which the meaning is known.
- For easier reading when using a setext viewer the 'Apple System Software'
- section is divided into four groups grouped on the first character of the
- selectorcode (A-F, G-L, M-P and Q-Z).
-
- Apple System Software (A-F)
- ---------------------------
- a/ux (A/UX [2.0?])
- (System [6.0.4])
- gestaltAUXVersion
- Returns the version of A/UX, if it is executing, as BCD?
-
- const
- gestaltAUXVersion = 'a/ux'; {A/UX version, if present}
-
- NOTES:
- If Gestalt doesn't know the answer, test bit 9 of the HWCFgFlag
- system global ($0B22; word). if it is, assume you have A/UX 1.0.
-
- This selector also indicates if you're running under MAE on an
- UNIX machine. *AD08
- addr (System [6.0.4])
- gestaltAddressingModeAttr
- Returns information about the current addressing mode.
-
- const
- gestaltAddressingModeAttr = 'addr'; {addressing mode attributes}
- gestalt32BitAddressing = 0; {started up with 32-bit addr.}
- gestalt32BitSysZone = 1; {system heap has 32-bit clean}
- { block headers}
- gestalt32BitCapable = 2; {machine is 32-bit capable}
- alis (System [7.0])
- (Remote Access Aliases ext [1.0?], part of Apple Remote Access)
- gestaltAliasMgrAttr
- Returns information about the Alias Manager.
-
- const
- gestaltAliasMgrAttr = 'alis';{Alias Mgr attributes}
- gestaltAliasMgrPresent = 0;
- gestaltAliasMgrSupportsRemoteAppletalk = 1; {supports Remote}
- { Appletalk *AD02}
- gestaltAliasMgr??? = 2; {since System 7.1 Pro}
-
- NOTE: See 'Reports' chapter (QuickTime section) for more information.
- ascr (AppleScript ext [1.0])
- gestaltAppleScriptAttr *AS08
- Returns information about AppleScript.
-
- const
- gestaltAppleScriptAttr = 'ascr'; {AppleScript attributes}
- gestaltAppleScriptPresent = 0;
- gestaltAppleScriptPowerPCSupport = 1;
- ascv (AppleScript ext [1.0])
- gestaltAppleScriptVersion *AS08
- Returns the version of AppleScript as NumVersion.
-
- const
- gestaltAppleScriptVersion = 'ascv'; {AppleScript version}
-
- NOTE:
- AppleScript 1.1 returns $01100110 which doesn't look like a proper
- version number (version 1.0 returned $01008000). (Rene Ros)
- aslm (Shared Library Manager ext [1.1.1?])
- (System? [7.5?])
- gestaltASLM68K *AS17
- Returns the version of the Shared Library Manager as BCD in the upper
- 2 bytes and attribute bits in the lower 2 bits. NULL is returned when
- ASLM did not load properly at boot time and is not available.
-
- const
- gestaltASLM68K = 'aslm'; {ASLM selector for 68K Macs}
- gestaltASLMPPC = 'slmp'; {ASLM selector for PPC Macs}
- gestaltASLM = 'aslm'; {or 'slmp', see below}
- gestaltASLMVersionMask = $FFFF0000; {Version is in upper 2 bytes}
- { of result}
- gestaltASLMPresentMask = $0001; {If set ASLM is or was}
- { loaded.}
- gestaltASLMLoadedMask = $0002; {If set ASLM is currently}
- { loaded.}
-
- #if GENERATINGPOWERPC
- define gestaltASLM gestaltASLMPPC
- #else
- define gestaltASLM gestaltASLM68K
- #endif
-
- NOTE:
- Earlier (beta?) versions of the ASLM PowerPC used 'ASLM' as the
- selector instead of 'slmp'.
-
- A PowerMac 7100/66 with stock 7.5/QDGX/PowerTalk running and
- ASLM 1.1.2 only returns the 'aslm' selector... (John Mancino)
- ASLM (Shared Library Manager ext [1.1.1?])
- (System? [7.5?])
- gestaltASLMPPC (old!) *AS17
-
- NOTE:
- See the gestaltASLM68K ('aslm') entry for more information.
- atkv (System [7.0, AppleTalk 56])
- gestaltATalkVersion *AT02
- Returns AppleTalk version as NumVersion. If selector is not present
- then AppleTalk is not present (not loaded at startup). *AD18
-
- This is different from 'atlk' !
-
- const
- gestaltATalkVersion = 'atkv'; {AppleTalk version *AD01/M01}
-
- WARNING:
- This selector returns the majorRev field of the NumVersion record as
- hexadecimal instead of the usual BCD.
-
- NOTE: See 'Reports' chapter (AppleTalk section) for more information.
- atlk (System [6.0.4])
- gestaltAppleTalkVersion
- Returns the version of the .MPP driver as INTEGER. And returns zero
- when AppleTalk is off. *AD18
-
- const
- gestaltAppleTalkVersion = 'atlk'; {AppleTalk version}
- aucd (Audio CD Access ext [4.0], part of Apple CD-ROM Software) *AT03
- gestaltAudioCDAccessVersion?
- Returns Audio CD Access version as BCD.
-
- const
- gestaltAudioCDAccessVersion? = 'aucd'; {Audio CD Access version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- BSDa (CloseView cp [???], by Berkeley Systems, Inc.)
- gestaltCloseViewAttr
- Returns information about the CloseView Control Panel.
-
- const
- gestaltCloseViewAttr = 'BSDa'; {CloseView attributes}
- gestaltCloseViewEnabled = 0;
- gestaltCloseViewDisplayMgrFriendly = 1; {Closeview compatible}
- { with Display Manager}
- { (FUTURE) *AS05}
- cash (System [???]) *S03
- gestaltRAMCacheSize
- Returns byte-size of physical RAM allocated to Disk Cache.
- 0 = Disk Cache Off
-
- const
- gestaltRAMCacheSize = 'cash'; {RAM cache size}
-
- NOTE:
- This selector is listed in THINK Reference 1.0 but it is unknown which
- System Software version should install it.
- cfrg (System [7.1.2? on PowerMac])
- (CFM68K ext [1.0a1], part of OpenDoc)
- gestaltCFMAttr
- Returns information about the Code Fragment Manager.
-
- const
- gestaltCFMAttr = 'cfrg'; {Code Fragment Mgr attributes}
- gestaltCFMPresent = 0; {Code Fragment Manager is present}
- cmta (ColorSync ext [1.0.4?]
- gestaltColorMatchingAttr *AD09
- Returns information about the ColorSync Utilities?
-
- const
- gestaltColorMatchingAttr = 'cmta'; {Color Matching Attributes}
- gestaltHighLevelMatching = 0; {BeginMatching &}
- { DrawMatchedPicture
- { present}
- gestaltColorMatchingLibLoaded = 1; {Native PowerPC shared}
- { library is loaded. a.k.a.}
- { gestaltSharedLibLoaded?}
- cmtc (ColorSync ext [1.0?])
- gestaltColorMatchingVersion
- Returns the version of the Color Matching software as BCD.
-
- const
- gestaltColorMatchingVersion = 'cmtc'; {Color Matching version}
- gestaltColorSync10 = $0100; {*AD09}
- gestaltColorSync11 = $0110; {*AD09}
- gestaltColorSync104 = $0104; {*AD09}
- gestaltColorSync105 = $0105; {*AD09}
- gestaltColorSync20? = $0200; {*AD17}
-
- NOTE:
- ColorSync 1.0 returns gestaltColorSync10 for the version of the
- utilities that work with System 6.0.7. And gestaltColorSync11 is
- returned by the version that works with System 7.0 and later.
- From version 1.0.4 up the correct version is returned. *AD17
- conn (System [7.0])
- gestaltConnMgrAttr
- Returns information about the Connection Manager.
-
- const
- gestaltConnMgrAttr = 'conn'; {Conn. Mgr attributes}
- gestaltConnMgrPresent = 0; {Connection Mgr is present}
- gestaltConnMgrCMSearchFix = 1; {fix for CMAddSearch present}
- gestaltConnMgrErrorString = 2; {has CMGetErrorString *AS02}
- gestaltConnMgrMultiAsyncIO = 3; {CMNewsIOPB,CMDisposeIOPB,}
- { CMPBRead,CMPBWrite,CMPBIOKill}
- { *AS02}
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
- cpkr (Color Picker ext [2.0?])
- gestaltColorPicker
- gestaltColorPickerVersion
- Returns Color Picker version as BCD.
-
- const
- gestaltColorPicker = 'cpkr'; {ColorPicker Mgr version}
- gestaltColorPickerVersion = 'cpkr'; {ColorPicker Mgr version}
-
- NOTE:
- Version 2.0a4 returns as response $0x0001, but version 2.0a5 and
- later (including 2.0f) returns $0x0100. (Rene Ros)
- cpnt (System [7.1])
- (Color Picker Extension ext [2.0])
- (Color Sync ext [1.0.4?])
- (Macintosh Easy Open cp [1.0?])
- (QuickTime ext [1.0])
- (Speech Manager ext [1.1.1, not 1.2?])
- gestaltComponentMgr
- Returns Component Manager version as INTEGER.
-
- const
- gestaltComponentMgr = 'cpnt'; {Component Mgr version *AS01}
- cput (System [7.1.2?]) *AS04/AS05
- gestaltNativeCPUtype
- Returns a value that indicates the type of native processor that is
- currently running.
-
- const
- gestaltNativeCPUtype = 'cput'; {Native CPU type}
- {Motorola Architecture}
- gestaltCPU68000 = 1;
- gestaltCPU68010 = 2;
- gestaltCPU68020 = 3;
- gestaltCPU68030 = 4;
- gestaltCPU68040 = 5;
- {PowerPC Architecture}
- gestaltCPU601 = $0x101;
- gestaltCPU603 = $0x103;
- gestaltCPU604 = $0x104;
- gestaltCPU620? = ???;
-
- NOTE:
- To check whether the native system architecture is a MC680x0 or a
- PowerPC use the gestaltSysArchitecture ('sysa') selector. See for
- more information on the 68K processors the gestaltProcessorType
- ('proc') selector.
-
- The GestaltEqu.h file published with E.T.O. #12 was replaced by the
- one on E.T.O. #13. However there was made a mistake, it lists the 68K
- values in the range 0-4 while it should be 1-5 as listed above.
- This problem is acknowledged by Apple.
- You can fix this problem by using the declarations listed above or by
- using the GestaltEqu.h file from E.T.O. #13 but then test first the
- gestaltSysArchitecture ('sysa') selector and when it reports a 68K
- machine use gestaltProcessorType.
- However, System 7.5 and 7.5.1 were apperantly created using the
- incorrect header file and return the incorrect values.
- Example: 'cput' returns 3 and 'proc' returns 4.
- (Dave Radcliffe, Roland Mansson, Rene Ros)
- crm (System [7.0])
- gestaltCRMAttr
- Returns information about the Communications Resource Manager.
-
- const
- gestaltCRMAttr = 'crm '; {Comm. Resource Mgr attributes}
- gestaltCRMPresent = 0; {Comm. Resource Mgr present}
- gestaltCRMPersistentFix = 1; {fix for persistent tools *AS02}
- gestaltCRMToolRsrcCalls = 2; {has CRMGetToolResource/}
- { ReleaseToolResource *AS02}
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
- csvr (Control Strip cp [1.0])
- gestaltControlStripVersion
- Returns the version of Control Strip software that is installed as
- NumVersion.
-
- const
- gestaltControlStripVersion = 'csvr';
-
- WARNING:
- Control Strip 1.0 used to install the 'sdvr' selector (which is used
- by PowerTalk) instead of this selector to return the version. This is
- corrected when the gestaltControlStripAttr ('sdev') selector has bit
- gestaltControlStripVersionFixed set (Control Strip 1.1 and later).
- *AS11/AT08 (Rene Ros)
- ctbm (System [???])
- gestaltCTBManagersAttr
- Returns information about the Communications Toolbox Managers, it is a
- bitmask of which managers are present.
-
- const
- gestaltCTBManagersAttr = 'ctbm'; {Comm. Mgrs attributes *S02}
-
- NOTE:
- Never installed by any known system version. Never planned for any
- previous or future system version. (Alex Rosenberg)
- ctbu (System [7.0])
- gestaltCTBUtilsAttr
- Returns information about the Communications Toolbox Utilities.
-
- const
- gestaltCTBUtilsAttr = 'ctbu'; {Comm. TB Utils attributes *S02}
- gestaltCTBUtilsPresent = 0; {*S02}
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
- ctbv (System [7.0])
- gestaltCTBVersion
- Returns the version number of the Communications Toolbox.
-
- const
- gestaltCTBVersion = 'ctbv'; {Comm. Toolbox version}
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- With the Power Macintosh the Communication Toolbox returned a Gestalt
- value indicating version 1.1 while the ROM actually had version 1.0.
- This is fixed by the PowerPC Enabler 1.0.1. and the PowerPC Upgrade
- Card Enabler 1.0.1. because they install CTB 1.1. *AT06
- As of System 7.1, the version of the CTB should track the System
- version. The PowerMac ROMs handled this incorrectly and System 7.5
- rectifies this by reporting 7.5.0. (Alex Rosenberg)
- dbac (System [7.0])
- gestaltDBAccessMgrAttr
- Returns information about the Data Access Manager.
-
- const
- gestaltDBAccessMgrAttr = 'dbac'; {Data Access Mgr attributes}
- gestaltDBAccessMgrPresent = 0; {TRUE if Data Access Mgr present}
- dfnd (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPFindVersion
- Returns the SDP Find version as INTEGER. Returns zero if not present
- and available.
-
- const
- gestaltSDPFindVersion = 'dfnd'; {SDP Find version}
- dict (System [7.1])
- gestaltDictionaryMgrAttr
- Returns information about the Dictionary Manager.
-
- const
- gestaltDictionaryMgrAttr = 'dict'; {Dictionary Mgr attributes}
- gestaltDictionaryMgrPresent = 0;
- ditl (System [7.0])
- gestaltDITLExtAttr
- Returns information about the Dialog Manager.
-
- const
- gestaltDITLExtAttr = 'ditl'; {Dialog Mgr attributes}
- gestaltDITLExtPresent = 0; {Dialog Mgr extensions present}
- dplv (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrVers *AS05
- Returns Display Manager version as INTEGER?.
-
- const
- gestaltDisplayMgrVers = 'dplv'; {Display Mgr version}
- dply (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrAttr *AS05
- Returns information about the Display Manager.
-
- const
- gestaltDisplayMgrAttr = 'dply'; {Display Mgr attributes}
- gestaltDisplayMgrPresent = 0; {True if Display Mgr is present}
- gestaltDisplayMgr??? = 1;
- gestaltDisplayMgr??? = 2;
- drag (Macintosh Drag and Drop ext [1.0])
- gestaltDragMgrAttr *AD05
- Returns information about the Drag Manager.
-
- const
- gestaltDragMgrAttr = 'drag'; {Drag Manager attributes}
- gestaltDragMgrPresent = 0; {Drag Manager is present}
- gestaltDragMgrFloatingWind = 1; {*AS09}
- gestaltPPCDragLibPresent = 2; {*AS09}
- gestaltDragMgr??? = 31; {set with System 7.5}
- dsig (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltDigitalSignatureVersion
- Returns version of the Digital Signature toolbox as BCD.
-
- const
- gestaltDigitalSignatureVersion = 'dsig'; {Digitial Signature version}
- eajt (Easy Access cp [7.0])
- gestaltEasyAccessJTable
- Returns the base address of the Easy Access jump-trap table.
-
- const
- gestaltEasyAccessJTable = 'eajt'; {Easy Access jump-trap table *M01}
- easy (Easy Access cp [6.0.4?])
- gestaltEasyAccessAttr
- Returns information about the status of Easy Access.
-
- const
- gestaltEasyAccessAttr = 'easy'; {Easy Access attributes}
- gestaltEasyAccessOff = 0; {Easy Access present but off}
- gestaltEasyAccessOn = 1; {Easy Access on}
- gestaltEasyAccessSticky = 2; {Easy Access "Sticky"}
- gestaltEasyAccessLocked = 3; {Easy Access "Locked"}
-
- NOTE:
- The values listed above are not returned with System 7 and later.
- Because of a bug different values are returned. This problem is
- acknowledged by Apple, but it is unclear when it will be fixed. They
- know about it since September 1992... (Rene Ros)
- edtn (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltEditionMgrAttr
- Returns information about the Edition Manager.
-
- const
- gestaltEditionMgrAttr = 'edtn'; {Edition Mgr attributes}
- gestaltEditionMgrPresent = 0;
- gestaltEditionMgrTranslationAware = 1; {*AD03}
- evnt (System [7.0]) *AS05
- (Apple Event Manager ext [1.0.1], part of AppleScript Setup)
- gestaltAppleEventsAttr
- Returns information about Apple Events.
-
- const
- gestaltAppleEventsAttr = 'evnt'; {Apple events attributes}
- gestaltAppleEventsPresent = 0; {True if Apple Events present}
- { *AS05}
- gestaltScriptingSupport = 1;
- gestaltOSLInSystem = 2; {OSL is in system so don`t use}
- { the one linked}
-
- NOTE:
- These declarations in the AEObjects.h file (on ETO 14) should be
- ignored:
- gestaltObjectSupportLibraryInSystem = 1,
- gestaltObjectSupportLibraryPowerPCSupport = 2
- flag (Network Extension ext [System 7.0 *AT02])
- gestaltFlagshipAttr
- Returns information about the Flagship.
-
- const
- gestaltFlagshipAttr = 'flag'; {*M01}
- gestaltFlagshipPresent = 0; {*M01}
- gestaltFlagshipRegistered = 1; {*M01}
- fndr (Finder [7.1.1]) *AS04
- (Finder Scripting Extension ext [1.2?])
- (Finder Clipping Extension ext [7.1.4?])
- gestaltFinderAttr
- Returns information about the Finder.
-
- const
- gestaltFinderAttr = 'fndr';
- gestaltFinderDropEvent = 0;
- gestaltFinderMagicPlacement = 1;
- gestaltFinderCallsAEProcess = 2;
- gestaltOSLCompliantFinder = 3; {supports Finder Event Suite}
- gestaltFinderSupports4GBVolumes = 4; {implemented by System 7.5.1}
- { but bit not set?}
- gestaltFinderHandlesCFMFailures = 5;
- gestaltFinderHasClippings = 6; {*AD12}
- fold (System [7.0])
- gestaltFindFolderAttr
- Returns information about the FindFolder function.
-
- const
- gestaltFindFolderAttr = 'fold'; {FindFolder attributes}
- gestaltFindFolderPresent = 0; {FindFolder function available}
- font (System [7.0])
- (TrueType INIT ext for System 6)
- gestaltFontMgrAttr
- Returns information about the Font Manager.
-
- const
- gestaltFontMgrAttr = 'font'; {Font Mgr attributes}
- gestaltOutlineFonts = 0; {TrueType present}
- gestaltFontMgr??? = 1; {set with System 7.1 & 7.5}
- gestaltDiskCachedFonts? = 2; {Disk Cached Fonts available?}
-
- NOTE:
- Inside the Inline Extension 1.0 with KanjiTalk7, which was compiled
- with full subroutine names, there is a subroutine called
- 'DiskChachedFontsAvailable' in an INIT resource which checks bit 2
- of the gestaltFontMgrAttr selector response. (Marco Piovanelli)
- fpu (System [6.0.4])
- gestaltFPUType
- Returns a value that indicates the FPU-type, if any.
-
- const
- gestaltFPUType = 'fpu '; {FPU Type}
- gestaltNoFPU = 0; {no FPU}
- gestalt68881 = 1; {68881 FPU}
- gestalt68882 = 2; {68882 FPU}
- gestalt68040FPU = 3; {built-in 68040 FPU *S01}
-
- NOTE: See also the 'FPUE' entry in the Third Parties section.
- fs (720K Floppy Disk Formatter ext [1.0a3?],
- part of the Hardware System Update [2.0])
- (Apple Share ext [AS 3.0/SYS 7.0])
- (File System Manager ext [1.2])
- (System [7.0])
- gestaltFSAttr
- Returns information about the file system.
-
- const
- gestaltFSAttr = 'fs '; {file-system attributes}
- gestaltFullExtFSDispatching = 0; {exports HFSDispatch traps}
- gestaltHasFSSpecCalls = 1; {supports FSSpec records}
- gestaltHasFileSystemManager = 2; {has the File System Manager}
- { *S01}
- gestaltFSMDoesDynamicLoad = 3; {FSM supports dynamic loads}
- { *AD12}
- gestaltFSSupports4GBVols = 4; {FS supports 4 gigabyte volumes}
- { *AD14}
- gestaltFSSupports2TBVols = 5; {FS supports 2 terabyte volumes}
- { *AD14}
- gestaltHasExtendedDiskInit = 6; {has extended Disk}
- { Initialization calls *AD12}
-
- NOTES:
- See also the gestaltFSMVersion ('fsm ') selector.
-
- See 'Reports' chapter (QuickTime section) for more information.
- fsm (File System Manager ext [1.2])
- gestaltFSMVersion *AD14
- Returns File System Manager version as BCD.
-
- const
- gestaltFSMVersion = 'fsm ';
-
- NOTE:
- See also the gestaltFSAttr ('fs ') selector.
-
- While both FSM 1.2 and System 7.5 install/patch three traps
- (_FileSysMgr, _HFSUtils and _Pack2 (Extended Disk Initialization
- Package)) it happens that System 7.5 does not install the
- gestaltFSMVersion ('fsm ') selector. It does set the FSM related bits
- of the gestaltFSAttr ('fs ') selector. (Fabrizio Oddone)
- This selector is correctly installed by System 7.5.1. (Rene Ros)
- fxfr (System [7.0])
- gestaltFXfrMgrAttr
- Returns information about the File Transfer Manager.
-
- const
- gestaltFXfrMgrAttr = 'fxfr'; {File Transfer Mgr attributes}
- gestaltFXfrMgrPresent = 0; {File Transfer Mgr present}
- gestaltFXfrMgrMultiFile = 1; {supports FTSend and FTReceive}
- { *AS02}
- gestaltFXfrMgrErrorString = 2; {supports FTGetErrorString}
- { *AS02/S02}
- gestaltFXfrMgr??? = 3?; {new, see future technote}
- { set with System 7.5}
-
- Apple System Software (G-L)
- ---------------------------
- gval (GestaltValue glue code)
- gestaltValueTable?
- Returns a pointer to a table with the selectors and values managed
- by the GestaltValue code. (Marco Piovanelli)
-
- const
- gestaltValueTable? = 'gval';
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct.
-
- NOTES:
- Although System 7.5 implements the GestaltValue functions it does not
- install this selector because the GestaltValue table is combined with
- the normal Gestalt table (See the 'tabl' entry). Only with system
- software before 7.5 this selector is installed by the glue code.
- (Rene Ros)
-
- See 'Reports' chapter (GestaltValue section) for more information.
- hdwr (System [6.0.4]) INF
- gestaltHardwareAttr
- Returns information about the hardware configuration of the machine.
-
- const
- gestaltHardwareAttr = 'hdwr'; {hardware attributes}
- gestaltHasVIA1 = 0; {VIA 1}
- gestaltHasVIA2 = 1; {VIA 2}
- gestaltHasRBV = 2; {RBV *M01}
- gestaltHasASC = 3; {ASC (or compatible with)}
- gestaltHasSCC = 4; {SCC *M01}
- gestaltHasOSS = 5; {OSS *M01}
- gestaltHasSCSIDMA = 6; {53C80 SCSI DMA *M01}
- gestaltHasSCSI = 7; {53C80 SCSI}
- gestaltHasSWIMIOP = 8; {SWIM IOP *M01}
- gestaltHasSCCIOP = 9; {SCC IOP *M01}
- gestaltHasFitch = 10; {Fitch memory Controller *M02}
- gestaltHasIWM = 11; {IWM *M01}
- gestaltHasPWM = 12; {PWM disk speed buffer *M02}
- gestaltHasRAMSndBuff = 13; {RAM-based sound buffer *M02}
- gestaltHasVideoDAConv = 14; {Video D/A Converter *M02}
- gestaltHasPGC = 15; {PGC (parity control) *M02}
- gestaltHasRPU? = 16; {Random Parity Unit}
- gestaltHasOMC? = 17; {Orwell Memory Controller}
- gestaltHasVISARBV? = 18; {VISA Ram Based Video}
- gestaltHasSoftPowerOff = 19; {Software PowerOff (since 7.0?) *S01}
- gestaltHasSonic = 20; {Sonic (built-in ethernet) *M01}
- gestaltHasSCSI961 = 21; {Int. 53C96 SCSI *AT01}
- gestaltHasSCSI962 = 22; {Ext. 53C96 SCSI *AT01}
- gestaltHasDAFBVideo = 23; {DAFB Video *M01}
- gestaltHasUniversalROM = 24; {Universal ROM *AT04}
- gestaltHasJaws? = 25; {Jaws Memory Controller?}
- gestaltHasAWAC? = 27; {AWAC? set on PowerMac, C660AV and}
- { under MAE 1.0}
- gestaltHasDSP? = 30; {Digital Signal Processor? set on}
- { C660AV}
-
- NOTES:
- See for additional information the TN "M.OV.GestaltSysenvirons" (OV 16).
-
- On the Mac IIfx and Quadra 900 the gestaltHasSCC bit always returns 0
- because the SCC is isolated by I/O processors. When the Compatibility
- Switch control panel is used the bit is set. *AD12
-
- The old IM VI listed this selector as an environmental selector but
- IM OS Utilities now lists it as an informational selector.
- help (System [7.0])
- gestaltHelpMgrAttr
- Returns information about the Help Manager.
-
- const
- gestaltHelpMgrAttr = 'help'; {Help Mgr attributes}
- gestaltHelpMgrPresent = 0; {Help Mgr present}
- gestaltHelpMgrExtensions = 1; {Help Mgr extensions installed}
- { *AS03}
- gestaltAppleGuideIsDebug = 30; {Apple Guide is debugging version}
- { *AS12}
- gestaltAppleGuidePresent = 31; {Apple Guide is available *AS12}
- hscd (High Sierra File Access ext [5.0], part of Apple CD-ROM Software)
- (ISO 9660 File Access ext [1.0-4.0], part of Apple CD-ROM Software)
- gestaltHighSierraVersion? *AT03
- Returns High Sierra File Access version in BCD.
-
- const
- gestaltHighSierraVersion? = 'hscd'; {High Sierra Fileaccess version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- icmp (QuickTime ext [1.0])
- gestaltCompressionMgr
- Returns Compression Manager version as Integer.
-
- const
- gestaltCompressionMgr = 'icmp'; {determines if Image Compression}
- { manager is available *AS01}
- icon (System 7.5 Update ext [1.0])
- gestaltIconUtilities
- Returns information about the Icon Utilities routines.
-
- const
- gestaltIconUtilities = 'icon'; {Icon Utils attributes}
- gestaltIconUtilitiesPresent = 0;
-
- NOTE:
- This selector is supposed to be implemented since System 7.1.2. You
- need to determine if the _IconDispatch A-trap ($AB49) is available
- instead since the Icon Utilities are actually available since
- System 7.0. *AD13/AT01
- System 7.5.1 finally implements this selector. (Anonymous)
- intd (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltInternalDiskAttr?
- Returns information about the internal harddisk of portable
- computers?
-
- const
- gestaltInternalDiskAttr? = 'intd'; {PB Internal HD attributes}
- gestaltHasInternalDisk? = 0; {TRUE if machine has internal HD}
- gestaltDiskSpinning? = 1; {TRUE if internal HD is spon up}
- gestalt??? = 24; {unknown, set on PB180, PB210,}
- { PB540 and others?}
-
- WARNING:
- This information is from a reliable source. However, is it not
- officially confirmed by Apple and there are no constants defined.
-
- NOTE:
- On a PB Duo 210 (PowerBook Duo Enabler) I haven't seen bit 1 set with
- System 7.1, even when the disk is spinning. It is also reported the
- bit is clear when the disk is spinning and set when down (seen on
- PB Duo 230). (David Lewis, Rene Ros)
- This problem seems to be fixed with System 7.5.1. (Rene Ros)
- iscd (ISO 9660 File Access ext [5.0], part of Apple CD-ROM Software)
- gestaltISO9660Version?
- Returns ISO 9660 File Access version in BCD?.
-
- const
- gestaltISO9660Version? = 'iscd';
-
- NOTE:
- Versions before 5.0 installed the 'hscd' selector.
- kbd (System [6.0.4])
- gestaltKeyboardType
- Returns a value that indicates the type of keyboard on which the last
- keystroke was seen.
-
- const
- gestaltKeyboardType = 'kbd '; {keyboard type}
- gestaltMacKbd = 1; {Macintosh Keyboard}
- gestaltMacAndPad = 2; {Macintosh Keyboard with Pad}
- gestaltMacPlusKbd = 3; {Macintosh Plus Keyboard}
- gestaltExtADBKbd = 4; {Extended ADB Keyboard}
- gestaltStdADBKbd = 5; {Standard ADB Keyboard}
- gestaltPrtblADBKbd = 6; {Portable ADB Keyboard}
- gestaltPrtblISOKbd = 7; {Portable ISO ADB Keyboard}
- gestaltStdISOADBKbd = 8; {Standard ISO ADB Keyboard}
- gestaltExtISOADBKbd = 9; {Extended ISO ADB Keyboard}
- gestaltADBKbdII = 10; {ADB Keyboard II}
- gestaltElmerKbd = 10; {=gestaltADBKbdII, used in}
- { some sample code}
- gestaltADBISOKbdII = 11; {ISO ADB Keyboard II}
- gestaltElmerISOKbd = 11; {=gestaltADBISOKbdII, used in}
- { some sample code}
- gestaltPwrBookADBKbd = 12; {PowerBook Keyboard *AT01}
- gestaltPwrBookISOADBKbd = 13; {PowerBook Keyboard (ISO) *AT01}
- gestaltAppleAdjustKeypad = 14; {Apple Adjustable Keypad *AT01}
- gestaltAppleAdjustADBKbd = 15; {Apple Adjustable Keyboard}
- { incl. US, ISO and Japanese *AT01}
- gestaltPwrBkExtISOKbd = 20; {PowerBook Extended Intl. *AS15}
- gestaltPwrBkExtJISKbd = 21; {PowerBook Extended Japanese *AS15}
- gestaltPwrBkExtADBKbd = 24; {PowerBook Extended Domestic *AS15}
-
- ======================================================================
- Combinations of System Global KbdType/ADB Mgr devType and
- gestaltKeyboardType values *AT01
- ======================================================================
- KbdType gestaltKeyboardType Gestalt Name
- (hex.) (decimal)
- ----------------------------------------------------------------------
- $03 1 gestaltMacKbd
- $13 2 gestaltMacAndPad
- $0B 3 gestaltMacPlusKbd
- $02 4 gestaltExtADBKbd
- $01 5 gestaltStdADBKbd
- $06 6 gestaltPrtblADBKbd
- $07 7 gestaltPrtblISOKbd
- $04 8 gestaltStdISOADBKbd
- $05 9 gestaltExtISOADBKbd
- $08 10 gestaltADBKbdII
- $09 11 gestaltADBISOKbdII
- $0C 12 gestaltPwrBookADBKbd
- $0D 13 gestaltPwrBookISOADBKbd
- $0E 14 gestaltAppleAdjustKeypad
- $10 15 gestaltAppleAdjustADBKbd, US
- $11 15 gestaltAppleAdjustADBKbd, ISO
- $12 15 gestaltAppleAdjustADBKbd, Japanese
- $13 20 gestaltPwrBkExtISOKbd ?
- $14 21 gestaltPwrBkExtJISKbd ?
- $17 24 gestaltPwrBkExtADBKbd ?
- ----------------------------------------------------------------------
-
- NOTES:
- The Apple Adjustable Keyboard doesn't have its own Gestalt keyboard
- type defined with some versions of System Software (7.1?). It changes
- a low memory global but this doesn't change the Gestalt response. This
- problem is corrected by the Hardware System Update 2.0 and later.
-
- If the keyboard isn't recognized by the Gestalt Mgr, an error is
- returned. *AD19
-
- The PowerMac 7100/66 (System 7.1.2) doesn't install this selector for
- some reason. Other Macs with Gestalt version 4 do, so it isn't
- intentional.
-
- The PowerBook Extended keyboards (which include function keys) for
- International, Japanese and Domestic may be incorrect. The GestaltEqu
- file from which this info came also listed the Extended ADB keyboard
- as three different types instead of one as later was corrected by
- Apple.
- The KbdType numbers for the PowerBook Extended Keyboards were found
- with the PTCH 5 resource of the Hardware System Update 2.0.
- (Rene Ros)
-
- Since this selector returns the type of the keyboard last touched
- and because there can be more than one keyboard, MacDTS considers this
- selector to be obsolete. You should use GetADBInfo instead and check
- the orgADBAddr field for a keyboard (0x02) and the devType field
- contains the keyboard device type. It uses the same values as the
- KbdType low memory variable, see the table above. *AD07/AT01
- kpcd (Apple Photo Access ext [1.0], part of Apple CD-ROM Software) *AT03
- gestaltApplePhotoAccessVersion?
- Returns Apple Phote Access version in BCD.
-
- const
- gestaltApplePhotoAccessVersion? = 'kpcd';
-
- NOTE:
- The above is what the documentation says. However it seems to return
- always $FFFFFF7 as response.
- lram (System [6.0.4])
- gestaltLogicalRAMSize
- Returns the amount of logical memory available in bytes.
-
- const
- gestaltLogicalRAMSize = 'lram'; {logical RAM size}
-
- NOTE:
- The returned value may not be accurate because an adjustment to the
- number is performed to yield the best possible estimate of the
- remaining RAM. The discrepancy is usually because of different color
- depth settings for on-board video and because of the NanoKernel
- (68K emulator on Power Macintosh computers). The latter takes about
- 870K. *AD18
- lmem (System [6.0.4])
- gestaltLowMemorySize
- Returns the amount of the low-memory area in bytes.
-
- const
- gestaltLowMemorySize = 'lmem'; {low-memory area size}
-
- Apple System Software (M-P)
- ---------------------------
- mach (System [6.0.4]) INF
- gestaltMachineType
- Returns one of the following values, indicating the type of
- machine.
-
- RELEASED
- const
- gestaltMachineType = 'mach'; {machine type}
- gestaltClassic = 1; {Macintosh 128K}
- gestaltMacXL = 2; {Macintosh XL}
- gestaltMac512KE = 3; {Macintosh 512KE}
- gestaltMacPlus = 4; {Macintosh Plus}
- gestaltMacSE = 5; {Macintosh SE}
- gestaltMacII = 6; {Macintosh II}
- gestaltMacIIx = 7; {Macintosh IIx}
- gestaltMacIIcx = 8; {Macintosh IIcx}
- gestaltMacSE030 = 9; {Macintosh SE/30}
- gestaltPortable = 10; {Macintosh Portable}
- gestaltMacPortable = 10; {= gestaltPortable *AD18}
- gestaltMacIIci = 11; {Macintosh IIci}
- gestaltMacIIfx = 13; {Macintosh IIfx}
- gestaltMacClassic = 17; {Macintosh Classic}
- gestaltMacIIsi = 18; {Macintosh IIsi}
- gestaltMacLC = 19; {Macintosh LC}
- gestaltQuadra900 = 20; {Macintosh Quadra 900 *AT01}
- gestaltPowerBook170 = 21; {Macintosh PowerBook 170 *AT01}
- gestaltQuadra700 = 22; {Macintosh Quadra 700 *AT01}
- gestaltClassicII = 23; {Macintosh Classic II *AT01}
- gestaltPowerBook100 = 24; {Macintosh PowerBook 100 *AT01}
- gestaltPowerBook140 = 25; {Macintosh PowerBook 140 *AT01}
- gestaltQuadra950 = 26; {Macintosh Quadra 950 *AT01}
- gestaltMacLCIII = 27; {Macintosh LC III}
- gestaltPerforma450 = 27; {= gestaltMacLCIII *AD18}
- gestaltPowerBook210 = 29; {Macintosh PowerBook 210}
- gestaltPowerBookDuo210 = 29; {= gestaltPowerBook210 *AD18}
- gestaltMacCentris650 = 30; {Macintosh Centris 650}
- gestaltPowerBook230 = 32; {Macintosh PowerBook 230}
- gestaltPowerBookDuo230 = 32; {= gestaltPowerBook230 *AD18}
- gestaltPowerBook180 = 33; {Macintosh PowerBook 180}
- gestaltPowerBook160 = 34; {Macintosh PowerBook 160}
- gestaltMacQuadra800 = 35; {Macintosh Quadra 800}
- gestaltMacQuadra650 = 36; {Macintosh Quadra 650 *AT01}
- gestaltMacLCII = 37; {Macintosh LC II}
- gestaltPowerBookDuo250 = 38; {Macintosh PowerBook Duo 250 *AT01}
- gestaltPowerMac9150 = 39; {Power Macintosh 9150 *AT01}
- gestaltAWS9150_80 = 39; {= gestaltPowerMac9150 *AD18}
- gestaltPowerMac8100_110 = 40; {Power Macintosh 8100/110 *AD18}
- gestaltMacIIvi = 44; {Macintosh IIvi}
- gestaltPerforma600 = 45; {Macintosh Performa 600}
- gestaltMacIIvm = 45; {= gestaltPerforma600 *AD18}
- gestaltMacIIvx = 48; {Macintosh IIvx}
- gestaltPowerMac7100_80 = 47; {Power Macintosh 7100/80 *AD18}
- gestaltMacColorClassic = 49; {Macintosh Color Classic}
- gestaltPerforma250 = 49; {= gestaltMacColorClassic *AD18}
- gestaltPowerBook165c = 50; {Macintosh PowerBook 165c}
- gestaltMacCentris610 = 52; {Macintosh Centris 610}
- gestaltMacQuadra610 = 53; {Macintosh Quadra 610 *AT01}
- gestaltPowerBook145 = 54; {Macintosh PowerBook 145 & 145b}
- { *AT01}
- gestaltPowerMac8100_100 = 55; {Power Macintosh 8100/100 *AD18}
- gestaltMacLC520 = 56; {Macintosh LC 520 *AT01}
- gestaltMacCentris660AV = 60; {Macintosh Centris 660AV *AT01}
- gestaltPerforma460 = 62; {Macintosh Performa 460}
- gestaltPerforma46x = 62; {= gestaltPerforma460 *AD18}
- gestaltPowerMac8100_80 = 65; {Power Macintosh 8100/80}
- gestaltPowerBook180c = 71; {Macintosh PowerBook 180c *AT01}
- gestaltPowerBook520_540 = 72; {Macintosh PowerBook 520/520c &}
- { 540/540c}
- { use MaximumProcessorSpeed from}
- { Power Mgr. 25 and 33 resp. *AT01}
- gestaltPowerBook500 = 72; {= gestaltPowerBook520_540 *AD18}
- { Macintosh PowerBook 500 series}
- gestaltPowerMac6100_60 = 75; {Power Macintosh 6100/60}
- gestaltPowerBookDuo270c = 77; {Macintosh PowerBook Duo 270c}
- { *AT01}
- gestaltMacQuadra840AV = 78; {Macintosh Quadra 840AV *AT01}
- gestaltMacLC550 = 80; {Macintosh LC 550 *AT01}
- gestaltPerforma550 = 80; {= gestaltMacLC550 *AD18}
- gestaltPowerBook165 = 84; {Macintosh PowerBook 165 *AT01}
- gestaltMacTV = 88; {Macintosh TV}
- gestaltMacLC475 = 89; {Macintosh LC 475 *AT01}
- gestaltPerforma47x = 89; {= gestaltMacLC475 *AD18}
- gestaltMacLC575 = 92; {Macintosh LC 575 *AT01}
- gestaltMacQuadra605 = 94; {Macintosh Quadra 605 *AT01}
- gestaltMacLC630 = 98; {Macintosh LC 630, see below *AT01}
- gestaltMacQuadra630 = 98; {Macintosh Quadra 630 *AT01}
- { Q630 has MC68040, LC 630 has}
- { MC68LC040 but can upgrade}
- gestaltMac630 = 98; {= gestaltMacLC630}
- { = gestaltMacQuadra630 *AD18}
- { Macintosh 630 series }
- gestaltPowerMac6100_66 = 100; {Power Macintosh 6100/66}
- gestaltPowerBookDuo280 = 102; {Macintosh PowerBook Duo 280}
- gestaltPowerBookDuo280c = 103; {Macintosh PowerBook Duo 280c}
- gestaltPowerMac7100_66 = 112; {Power Macintosh 7100/66}
- gestaltPowerBook150 = 115; {Macintosh PowerBook 150}
-
- Below are the values for the Power Macintosh Upgrade cards. *AD18
- The duplicate symbolic names are from the Gestalt & SysEnvirons
- TechNote *AT01 (sigh!).
- const
- gestaltPowerMacLC475 = 104; {LC475 PPC Upgrade Card}
- gestaltPowerMacPerforma47x = 104; {= gestaltPowerMacLC475}
- { Performa 47x PPC Upgrade Card}
- gestaltPowerMacLC575 = 105; {LC575 PPC Upgrade Card}
- gestaltPowerMacPerforma57x = 105; {= gestaltPowerMacLC575}
- { Performa 57x PPC Upgrade Card}
- gestaltPowerMacQuadra630 = 106; {Quadra 630 PPC Upgrade Card}
- gestaltPowerMacLC630 = 106; {= gestaltPowerMacQuadra630}
- { LC 630 PPC Upgrade Card}
- gestaltPowerMacPerforma63x = 106; {= gestaltPowerMacQuadra630}
- { = gestaltPowerMacLC630}
- { Performa 63x PPC Upgrade Card}
- gestaltPowerMac700 = 116; {Quadra 700 PPC Upgrade Card}
- gestaltPowerMacQuadra700 = 116; {= gestaltPowerMac700}
- gestaltPowerMac900 = 117; {Quadra 900 PPC Upgrade Card}
- gestaltPowerMacQuadra900 = 117; {= gestaltPowerMac900}
- gestaltPowerMac950 = 118; {Quadra 950 PPC Upgrade Card}
- gestaltPowerMacQuadra950 = 118; {= gestaltPowerMac950}
- gestaltPowerMacC610 = 119; {Centris 610 PPC Upgrade Card}
- gestaltPowerMacCentris610 = 119; {= gestaltPowerMacC610}
- gestaltPowerMacC650 = 120; {Centris 650 PPC Upgrade Card}
- gestaltPowerMacCentris650 = 120; {= gestaltPowerMacC650}
- gestaltPowerMacQ610 = 121; {Quadra 610 PPC Upgrade Card}
- gestaltPowerMacQuadra610 = 121; {= gestaltPowerMacQ610}
- gestaltPowerMacQ650 = 122; {Quadra 650 PPC Upgrade Card}
- gestaltPowerMacQuadra650 = 122; {= gestaltPowerMacQ650}
- gestaltPowerMac800 = 123; {Quadra 800 PPC Upgrade Card}
- gestaltPowerMacQuadra800 = 123; {= gestaltPowerMacQ800}
-
- Exceptions with systems prior to System 7.1:
- const
- gestaltMacLCII = 19; {Macintosh LC & LC II}
- { LC has MC68020,LC II has MC68030}
- gestaltPowerBook145 = 25; {Macintosh PowerBook 140 & 145}
- { use GetCPUSpeed from}
- { Power Mgr? 16 and 25 resp.}
-
- Released unknown
- gestaltMacColorClassicII?= ???; {Macintosh Color Classic II}
- gestaltMacLC580 = ???; {Macintosh LC 580}
- gestaltPowerMac5200_75LC?= ???; {Power Macintosh 5100/75 LC}
-
- Relabeled
- Macintosh ED = gestaltMacPlus
- (sold in Netherlands, 512K with Mac SE
- case color)
- Performa 200 = gestaltClassicII
- Performa 250 = gestaltMacColorClassic
- (sold in Australia & Britain)
- Performa 275 = gestaltMacColorClassicII? ?
- Performa 400 = gestaltMacLCII
- Performa 405 = gestaltMacLCII
- Performa 410 = gestaltMacLCII
- Performa 430 = gestaltMacLCII
- Performa 450 = gestaltMacLCIII
- Performa 466 = gestaltMacLCIII
- Performa 467 = gestaltMacLCIII
- Performa 475 = gestaltMacLC475
- Performa 476 = gestaltMacLC475
- Performa 550 = gestaltMacLC550
- Performa 560MM = gestaltMacLC550
- Performa 575 = gestaltMacLC575
- Performa 577 = gestaltMacLC575
- Performa 578 = gestaltMacLC575
- Performa 630 = gestaltMac630?
- Performa 635 = gestaltMac630?
- Performa 636 = gestaltMac630?
- Performa 638CDV = gestaltMac630?
- Performa 6110CD = gestaltPowerMac6100_60
- Performa 6112CD = gestaltPowerMac6100_60
- Performa 6115CD = gestaltPowerMac6100_60
- Performa 6117CD = gestaltPowerMac6100_60
- Performa 6118CD = gestaltPowerMac6100_60
- PowerMac 6100/60AV = gestaltPowerMac6100_60
- PowerMac 7100/66AV = gestaltPowerMac7100_66
- PowerMac 8100/80AV = gestaltPowerMac8100_80
- PowerMac WGS 6150 = gestaltPowerMac6100_60 ?
- PowerMac WGS 8150 = gestaltPowerMac8100_80 ?
- PowerMac WGS 9150 = gestaltPowerMac9150
- Quadra 660AV = gestaltMacCentris660AV
- Workgroup Server 60 = gestaltMacCentris610
- Workgroup Server 80 = gestaltMacQuadra800
- Workgroup Server 95 = gestaltQuadra950
- Workgroup Server 95+ = gestaltQuadra950
-
- UNRELEASED (RUMOURED / PRERELEASES)
- const
- gestaltPowerMac8100_120 = 12; {Power Macintosh 8100/120}
- gestaltPaulaMac? = 31; {"Paula's Desk Macintosh" in}
- { PowerPC Enabler 1.1}
- gestalt??? = 43; {unknown, pre-rel. Tempest/Cyclone}
- gestalt??? = 59; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestaltPowerMac8100_60? = 61; {Power Macintosh 8100/80 when}
- { actually running at 60 MHz}
- { (value found experimentally)}
- gestaltPowerMac8100_60? = 64; {Power Macintosh 8100/60 but also}
- { Power Macintosh 8100/80 when}
- { actually running at 66.6 MHz}
- { (value from PowerPC Enabler)}
- gestalt??? = 73; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestalt??? = 74; {unknown, pre-rel. Power Mac named}
- { 'PDM Evt 1 (R.I.P.)'}
- gestalt??? = 81; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestalt??? = 83; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestaltLC475_20? = 86; {Q605 as a LC475 at 20 Mhz instead}
- { of 25 Mhz}
- gestalt??? = 87; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestaltLC475_33? = 90; {Q605 as a LC475 at 33 Mhz instead}
- { of 25 Mhz}
- gestalt??? = 91; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestaltQ605_20? = 93; {Q605 at 20 Mhz instead of 25 Mhz}
- gestaltQ605_33? = 95; {Q605 at 33 Mhz instead of 25 Mhz}
- gestaltTellShow = 98; {codename for LC630? *AD16}
- gestalt??? = 99; {???, 'Macintosh' in Enabler 405}
- gestaltTellXfmr = 99; {codename LC630 successor? *AD16}
- gestaltPowerMac6100_80? = 101; {Power Macintosh 6100/80}
- gestalt??? = 107; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestaltPowerMac7100_60? = 111; {Power Macintosh 7100/60}
- gestalt??? = 114; {unknown, in System 7.5 Update's}
- { gbly resource}
- gestalt??? = 124; {unknown, in MAE Enabler}
- { gbly resource}
- gestalt??? = 125; {unknown, in MAE Enabler}
- { gbly resource}
- gestalt??? = 126; {unknown, in MAE Enabler}
- { gbly resource}
-
- The following machine IDs are used by not to be released ROM images.
- If you observe any of these values, it's a prerelease system.
- const
- gestaltPowerMac6100_66? = 46; {Power Macintosh 6100/66}
- gestaltPowerMac8100_100? = 66; {Power Macintosh 8100/100}
- gestaltPowerMac7100_80? = 113; {Power Macintosh 7100/80}
-
- NOTES:
- The Power Macintosh computers also set the three low bits of a 32-bit
- register at address $5FFF FFFC to a machine identification code.
-
- ======================================================================
- Power Macintosh register identification codes
- ======================================================================
- Machine Register bits
- ----------------------------------------------------------------------
- Power Macintosh 6100 000
- Power Macintosh 7100 010
- Power Macintosh 8100 011
- ----------------------------------------------------------------------
-
- An upgraded Centris 610 doesn't return 119 (Centris 610 upgrade card?)
- but 75 (PowerMac 6100). (Carl R. Osterwald)
- With an upgraded Quadra 700 the upgrade card value is returned. The
- values for the upgrade cards came from the kMachineNameStrID resource
- from the Power Mac Upgrade Card enabler distributed with System
- Update 3.0 on disk 2. The Power Macintosh Card 1.0 control panel
- checks both the Quadra/Centris machine IDs and the ones for the
- upgrade cards to determine if it can run. (Rene Ros)
-
- When a PowerMac is clock-chipped it changes the machine type ID it
- returns. This has been observed with a PM 6100/60 which was chipped to
- 80 MHz and higher, it returned 101 which belongs to a PM 6100/80
- (Mike Cohen). Even funnier is a 8100AV (standard at 80 MHz) which
- returns 64 ("8100/60") with a clockspeed of 66.6 MHz, but 61 (???)
- and no name in the 'About this Macintosh' window at 60 MHz.
- With a PowerMac 8100/100 these type IDs where found with the different
- clock speeds: 65 (80 mHz), 55 (100 mHz), 40 (110 mHz) and 12 (120 mHz).
- - Centris 650 can be changed into a Quadra 650 by a resistor swap.
- - remove jumper J118 of Q605 and it becomes a LC475.
- - LC III/P450 returns value for P460 when chipped to 33 MHz.
- For more info on clock-chipping Macs:
- http://bambam.cchem.berkeley.edu/~schrier/mhz.html
- (Marc Schrier, the 'clock-chipping' guy who sometimes slows down a
- Mac but most of the time he is speeding them up...).
-
- The Developer Notes (available from APDA, on ftp.apple.com and on the
- Developer CD-ROM Series) about some PowerBook models (100/140/170)
- provide incorrect information regarding the machine type returned by
- the Gestalt Manager.
-
- IM More Macintosh Toolbox (p. 1-127) lists this selector as
- 'gestaltMachineModel'.
-
- You can use the returned value as an index with GetIndString
- to get the machine's name. The STR# resource ID is:
- kMachineNameStrID = -16395;
- See for more information on the Machine Name STR# resource the
- 'Machine Name' section in the 'Reports' chapter.
-
- See for more information on Macintosh clones the 'Macintosh Clones'
- section in the 'Reports' chapter.
- malr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPMailerVersion
- Returns the SMP Mailer version as INTEGER. Returns zero if not
- present and available.
-
- const
- gestaltSMPMailerVersion = 'malr'; {SMP Mailer version}
- micn (System [6.0.4]) INF
- gestaltMachineIcon
- Returns an icon family resource ID for the current type of
- Macintosh.
-
- const
- gestaltMachineIcon = 'micn'; {machine ICON/cicn res ID}
-
- NOTE:
- It appears as if this selector always returns the ID of the generic
- Macintosh icon (like in the Welcome screen), starting with System 7.5.
- (Rene Ros)
- misc (System [6.0.5])
- gestaltMiscAttr
- Returns information about miscellaneous pieces of software or
- hardware.
-
- const
- gestaltMiscAttr = 'misc'; {miscellaneous attributes}
- gestaltScrollingThrottle = 0;
- gestaltBootGlobals = 1; {Boot Globals *M02}
- gestaltSquareMenuBar = 2;
- mixd (System? [7.1.2?])
- gestaltMixedModeAttr
- Returns information about the Mixed Mode Manager.
-
- const
- gestaltMixedModeAttr = 'mixd'; {Mixed Mode Mgr attributes}
- gestaltPowerPCAware = 0; {True if MMMgr Supports PowerPC}
-
- NOTE:
- The name 'gestaltMixedModeVersion' (as used in IM OS Utilites and
- IM PowerPC System Software) is incorrect. It may be listed in
- Gestalt header files for a limited time for backwards compatibility.
- (Rene Ros)
- mmu (System [6.0.4])
- gestaltMMUType
- Returns a value that indicates the type of MMU currently installed,
- if any.
-
- const
- gestaltMMUType = 'mmu '; {MMU Type}
- gestaltNoMMU = 0; {no MMU}
- gestaltAMU = 1; {AMU}
- gestalt68851 = 2; {68851 MMU}
- gestalt68030MMU = 3; {built-in 68030 MMU}
- gestalt68040MMU = 4; {built-in 68040/68LC040 *S01}
- gestaltEMMU1 = 5; {Emulated MMU type 1, PowerPC MMU *AS05}
-
- NOTE:
- You should also use this selector to test for existence of
- _MemoryDispatch if your code runs before system patches are applied
- on machines of which the ROM implements _MemoryDispatch but the
- machine doesn't have a MMU. This may happen with a Mac LC, whose
- ROM is derived from the Macintosh IIci. *AT09
- mtcp (MacTCP cp [1.1])
- (Open Tpt MacTCP [3.0a2])
- gestaltMacTCPVersion? *AD01
- Returns the version of MacTCP, if opened, as index-value. If MacTCP is
- not opened a value of 0 is returned.
-
- ======================================================================
- MacTCP responses
- ======================================================================
- Version Response Remarks
- ----------------------------------------------------------------------
- all 0 MacTCP not opened.
- 1.1 1
- 1.1.1 2
- 2.0.x 3
- 3.0 4 Part of Open Transport 1.0
- ----------------------------------------------------------------------
-
- NOTE:
- No constants are defined by the documentation.
- nlup (System [7.0])
- gestaltStdNBPAttr
- Returns information about the call StandardNBP.
-
- gestaltStdNBPAttr = 'nlup'; {Standard NBP attributes}
- gestaltStdNBPPresent = 0;
- gestaltStdNBPSupportsAutoPosition = 1; {StandardNBP takes (-1,-1)}
- { for auto-positioning}
- nmgr (System [6.0.5])
- gestaltNotificationMgrAttr
- Returns information about the Notification Manager.
-
- const
- gestaltNotificationMgrAttr = 'nmgr'; {Notification Mgr attributes}
- gestaltNotificationPresent = 0;
- nubs (System [6.0.4, 6.0.5, 6.0.7, discontinued])
- gestaltNuBusSlotCount
- Returns count of NuBus slots.
-
- const
- gestaltNuBusSlotCount = 'nubs'; {NuBus slot count}
- ocet (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxVersion
- Returns the versions of the S&F Server and the OCE Toolbox as BCD.
- Returns zero if not present and available.
-
- const
- gestaltOCEToolboxVersion = 'ocet'; {OCE Toolbox version}
- gestaltOCETB = $0102; {current OCE Toolbox version 1.0.2}
- gestaltSFServer = $0100; {current S&F Server version 1.0}
-
- NOTE:
- The high order word will represent the S&F Server version number, and
- the low order the OCE Toolbox version number both as BCD.
- These will be zero until the component is up and running.
- oceu (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxAttr
- Returns information about the Open Colloboration Environment Toolbox.
-
- const
- gestaltOCEToolboxAttr = 'oceu'; {OCE Toolbox attributes}
- gestaltOCETBPresent = $1; {OCE toolbox is present,}
- { not running}
- gestaltOCETBAvailable = $2; {OCE toolbox is running and}
- { available}
- gestaltOCESFServerAvailable = $4; {S&F Server is running and}
- { available}
- gestaltOCTBNativeGlueAvailable = $10; {PowerPC glue available}
- { *AS13}
-
- NOTE:
- Any (future) remaining OCE attributes may not be established
- correctly until the attribute gestaltOCETBAvailable is set.
- os (System [6.0.4, 7.0 and later])
- (Process Manager INIT ext [???], part of ???)
- gestaltOSAttr
- Returns general information about the Operating System.
-
- const
- gestaltOSAttr = 'os '; {O/S attributes}
- gestaltSysZoneGrowable = 0;
- gestaltLaunchCanReturn = 1;
- gestaltLaunchFullFileSpec = 2;
- gestaltLaunchControl = 3;
- gestaltTempMemSupport = 4;
- gestaltRealTempMemory = 5;
- gestaltTempMemTracked = 6;
- gestaltIPCSupport = 7;
- gestaltSysDebuggerSupport = 8;
- gestaltSkiaGlobalsSwitched = 9; {*AS05}
- gestaltBgndMouseDownSupport = 10; {unnamed Process Mgr routine}
- { available to indicate if a}
- { layer switch is wanted by the}
- { application when one of its}
- { windows is clicked while in}
- { the background. *AS04}
- gestalt??? = 11; {on PowerPC, Performa 630}
- { and PB180?}
- gestalt??? = 13; {unknown, System 7.5}
- gestalt??? = 14; {unknown, System 7.5}
- gestalt??? = 15; {unknown, System 7.5.1}
-
- NOTES:
- See the Process Manager chapter in IM Processes for more information
- about the launch control features. And the Memory Manager chapter in
- IM Memory about the memory features.
-
- Under A/UX 2.x this selector incorrectly returns information about the
- Process Manager, which isn't available. You should test for A/UX 3.0 or
- later by using the gestaltAUXVersion ('a/ux') selector. *AT10
-
- More information on the unnamed routine which presence is indicated
- by the gestaltBgndMouseDownSupport bit can be found in the orginal
- email from Marco Piovanelli to the editor of the GSL. You can get a
- copy by emailing this command to the mail archive server:
- 'archive get src/bgndmouse.txt'
-
- The header file which lists the gestaltSkiaGlobalsSwitched bit says
- this:
- /*gestaltSkiaGlobalsSwitched is #9. I don't know why it is not here*/
-
- "Skia" was the code name for QuickDraw GX (MacsBug uses it for trap
- $A832, which is the main QuickDraw GX trap).
- (Lawrence D'Oliveiro, Anonymous)
- ostt (System [6.0.8?])
- gestaltOSTable
- Returns the base address of the Operating System trap table.
-
- const
- gestaltOSTable = 'ostt'; {O/S trap table base}
- osyv (sysvINIT ext [???] by T. Tanaka, Apple Computer Japan Inc.)
- gestaltOldSystemVersion?
- Returns the version of the system file as BCD which was returned
- before sysvINIT replaced the gestalt definition with a corrected one.
-
- const
- gestaltOldSystemVersion? = 'osyv';
-
- NOTE:
- Because of a bug with KanjiTalk 6.0.7 this extension (snippet code,
- available on Developer CD Series) replaces the standard 'sysv' gestalt
- function with a corrected one to return $0x0607 and installs the
- 'osyv' selector which uses the replaced gestalt definition. *M03
- pcxg (PC Exchange cp? [???]) *AS04/AS05
- gestaltPCXAttr
- Returns information about PC Exchange.
-
- const
- gestaltPCXAttr = 'pcxg'; {PC Exchange attributes}
- gestaltPCXHas8and16BitFAT = 0; {PC Exchange supports both 8 and}
- { 16 bit FATs}
- gestaltPCXHasProDOS = 1; {PC Exchange supports ProDOS}
- pgsz (System [6.0.4])
- gestaltLogicalPageSize
- Returns the logical page size in bytes.
-
- const
- gestaltLogicalPageSize = 'pgsz'; {logical page size}
-
- NOTE:
- The value is unknown on 68000 machines, Gestalt will return an error.
- pop! (System [7.0])
- gestaltPopupAttr
- Returns information about the pop-up control definition.
-
- const
- gestaltPopupAttr = 'pop!'; {pop-up CDEF attributes}
- gestaltPopupPresent = 0; {pop-up CDEF available}
- powr (System [6.0.4])
- gestaltPowerMgrAttr
- Returns information about the Power Manager, if present.
-
- const
- gestaltPowerMgrAttr = 'powr'; {Power Mgr attributes}
- gestaltPMgrExists = 0; {Power Mgr is present}
- gestaltPMgrCPUIdle = 1; {CPU can idle}
- gestaltPMgrSCC = 2; {can stop SCC clock}
- gestaltPMgrSound = 3; {can shut off sound circuits}
- gestaltPMgrDispatchExists = 4; {dispatch routines are present}
- ppc (System [7.0])
- gestaltPPCToolboxAttr
- Returns information about the capabilities of the PPC Toolbox.
-
- const
- gestaltPPCToolboxAttr = 'ppc '; {PPC Toolbox attributes}
- gestaltPPCToolboxPresent = $0x0000; {Requires PPCInit to be}
- { called}
- gestaltPPCSupportsIncoming = $0x0001; {Deny incoming net}
- { requests}
- gestaltPPCSupportsOutGoing = $0x0002; {Deny outgoing net}
- { requests}
- gestaltPPCSupportsRealTime = $0x1000; {Supports real-time}
- { delivery}
- gestaltPPCSupportsStoreAndForward = $0x2000; {Supports store and}
- { forward delivery}
- gestaltPPCSupportsDontCare = $0x4000; {Supports specification}
- { of Don't care}
-
- NOTE:
- The first thing that is confusing is that, unlike other selectors
- returning attributes, the responses are not bit values, but bit masks.
- This means you simply AND the value with the response to test the bit.
- The second thing that is confusing is how to interpret
- gestaltPPCToolboxPresent = $0x0000.
- What this means is that if the PPC toolbox is present, but has not
- been initialised (by calling PPCInit), then gestaltPPCToolboxAttr
- returns $0x0000. In reality, PPCInit gets called by the Process
- Manager before any applications get launched, so no applications will
- actually see this response. (Dave Radcliffe)
- proc (System [6.0.4])
- gestaltProcessorType
- Returns a value that indicates the type of processor that is
- currently running (or emulated on Power Macs or under MAE).
-
- const
- gestaltProcessorType = 'proc'; {processor type}
- gestalt68000 = 1; {MC68000}
- gestalt68010 = 2; {MC68010}
- gestalt68020 = 3; {MC68020}
- gestalt68030 = 4; {MC68030}
- gestalt68040 = 5; {MC68040 *S01}
-
- NOTES:
- The 68LC040 responds as type gestalt68040 but doesn't have a FPU. The
- user can swap out the 68LC040 and put in a real 68040 with FPU, so
- just checking the machineType or the processorType isn't enough.
- (Dave Radcliffe)
-
- Has there been a 68EC030 processor??? I assume it returns
- gestalt68030 but doesn't have an MMU. (Rene Ros)
-
- On a Power Macintosh the Gestalt function returns, although a 68LC040
- is emulated, the value gestalt68020. This return value is intended to
- highlight the two ways in which the 68LC040 Emulator more closely
- resembles a 68020 processor than a 68040 processor. *AD11
- prpv (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPPromptVersion
- Returns the SDP Prompt version as INTEGER. Returns zero if not
- present and available.
-
- const
- gestaltSDPPromptVersion = 'prpv'; {SDP Prompt version}
- prty (System [6.0.4])
- gestaltParityAttr
- Returns information about the parity-checking abilities of the
- machine.
-
- const
- gestaltParityAttr = 'prty'; {parity attributes}
- gestaltHasParityCapability = 0;
- gestaltParityEnabled = 1;
-
- Apple System Software (Q-Z)
- ---------------------------
- qd (System [6.0.4])
- gestaltQuickDrawVersion
- Returns the version of QuickDraw currently present as 2-byte value.
-
- const
- gestaltQuickDrawVersion = 'qd '; {QuickDraw version}
- gestaltOriginalQD = $000;
- gestaltOriginalQD1 = $001;
- gestalt8BitQD = $100;
- gestalt32BitQD = $200;
- gestalt32BitQD11 = $210;
- gestalt32BitQD12 = $220;
- gestalt32BitQD13 = $230;
- gestalt32BitQD135? = $235; {with System 7.1.2, ROM = 3072K?}
- gestalt32BitQD139? = $239; {with System 7.5.1 on Power Macs}
- { *AT12}
-
- ======================================================================
- Possible Combinations of ROM Versions and System Software Versions
- ======================================================================
- ROM Class System Version Gestalt Value
- ----------------------------------------------------------------------
- Black-and-white class < 7.0 gestaltOriginalQD
- (ROM < 256K) >= 7.0 gestaltOriginalQD and
- gestaltSystemVersion >= $0700
-
- Color QD class < 7.0, no INITs gestalt8BitQD
- (ROM = 256K) 6.0.3/6.0.4 and gestalt32BitQD
- 32-Bit QD INIT 1.0
- 6.0.5-6.0.8 and gestalt32BitQD12
- 32-Bit QD INIT 1.2
- >= 7.0 gestalt32BitQD13
-
- ci class 6.0.4 gestalt32BitQD + 1
- (256K < ROM >= 3072K) 6.0.5-6.0.8 gestalt32BitQD12
- >= 7.0 gestalt32BitQD13
- SuperROM? 7.1.2-7.5? gestalt32BitQD135?
- (ROM = 3072K) 7.5.1- ? gestalt32BitQD139?
- ----------------------------------------------------------------------
- (Original source: D e v e l o p 14, June 1993, p. 56;
- Info on System 7.1.2 and later based on observations and technical
- notes.)
-
- NOTE:
- gestalt32BitQD11 is never returned and gestalt32BitQD + 1 means
- $0x0201 as response value and doesn't has a constant defined.
- Another QuickDraw version is System 7 with a black-and-white class
- machine.
-
- Color QuickDraw is only available on 68020 and greater CPUs, and
- this selector always returns gestaltOriginalQD on 68000 machines,
- even when running System 7. *AT11
- qdrw (System [7.0])
- gestaltQuickDrawFeaturesAttr
- Returns information about QuickDraw.
-
- const
- gestaltQuickDrawFeaturesAttr = 'qdrw'; {QuickDraw attributes} *S01
- gestaltHasColor = 0; {*S01}
- gestaltHasDeepGWorlds = 1; {*S01}
- gestaltHasDirectPixMaps = 2; {*S01}
- gestaltHasGrayishTextOr = 3; {*S01}
- gestaltSupportsMirroring = 4; {*AD12}
-
- NOTES:
- There is a bug in the 'qdrw' selector that causes it to report that
- Color QuickDraw is always present, even on machines that don't support
- it. Apple has acknowledged this bug on AppleLink. (Chris Wysocki)
- Use SysEnvirons instead or test for the QD version ('qd ') being
- 8-bit QD or later.
-
- IM OS Utilities lists this selector as 'gestaltQuickDrawFeatures'.
- qtim (QuickTime ext [1.0])
- gestaltQuickTime
- gestaltQuickTimeVersion
- Returns QuickTime version as NumVersion.
-
- const
- gestaltQuickTime = 'qtim'; {Movie Toolbox Availability}
- gestaltQuickTimeVersion = 'qtim'; {Movie Toolbox version}
-
- NOTES:
- The returned version is obtained from 'vers' resource ID# 1.
-
- Initially the name 'gestaltQuickTime' was used to test for the
- availability of QuickTime. The fact that is always returned a
- version number was not documented until later. Then the name
- 'gestaltQuickTimeVersion' was defined. (Rene Ros)
-
- See 'Reports' chapter (QuickTime section) for more information.
- qtrs (QuickTime PowerPlug ext [1.0?])
- gestaltQuickTimeFeatures *AS06
-
- const
- gestaltQuickTimeFeatures = 'qtrs'; {QT Features attributes}
- gestaltPPCQuickTimeLibPresent = 0; {PowerPC QT glue library is}
- { present}
-
- NOTE:
- The gestaltPPCQuickTimeLibPresent bit indicates that the native
- QuickTime interface library is available and can be called by native
- PowerPC applications. (Dave Radcliffe)
- See for more info Technical Note
- 'QT 01 - Inside Macintosh: QuickTime Addendum'.
- ram (System [6.0.4])
- gestaltPhysicalRAMSize
- Returns the number of bytes of the physical RAM currently installed.
-
- const
- gestaltPhysicalRAMSize = 'ram '; {physical RAM}
- rbv (System [6.0.4, discontinued?]) *AS04
- gestaltRBVAddr
- Returns the address of the RBV.
-
- const
- gestaltRBVAddr = 'rbv '; {RBV address}
- reno (Apple Guide ext [1.2?], part of System 7.5 and later)
- ???
- Indicates presence "of the Reno system extension." (Reno is the
- mechanism behind Apple Guide for managing the help data-bases?)
- rom (System [6.0.4]) INF
- gestaltROMSize
- Returns the size of the installed ROM in bytes.
-
- const
- gestaltROMSize = 'rom '; {ROM size}
-
- NOTE:
- On Power Macintosh computers this selector returns the ROM size minus
- the 68K emulator portion, which uses about 1 MB. *AD18
- romv (System [6.0.4]) INF
- gestaltROMVersion
- Returns the version number of the installed ROM.
-
- const
- gestaltROMVersion = romv'; {ROM version}
- rsrc (System [should work since 7.0?])
- gestaltResourceMgrAttr
- Returns information about the Resource Manager.
-
- const
- gestaltResourceMgrAttr = 'rsrc'; {Resource Mgr attributes}
- gestaltPartialRsrcs = 0;
- gestalt??? = 1; {unknown}
-
- NOTE:
- Under System 7, bit 0 that tells if you have partial resource support
- doesn't work right. The selector is undefined under System 7.0 and
- 7.0.1 even though the partial resource calls are available. This has
- been acknowledged by Apple. (Michael Hecht, Quinn)
- rtmr (System? [7.1.1?])
- gestaltRealtimeMgrAttr
- Returns information about the Realtime Manager.
-
- const
- gestaltRealtimeMgrAttr = 'rtmr'; {Realtime Mgr attributes}
- gestaltRealtimeMgrPresent = 0; {Realtime Mgr is present}
-
- NOTE:
- If the RealTime Mgr is present this means the ARTA routines are
- available to determine if and how many DSPs are installed.
- (Zalman Stern)
- sccr (System [6.0.4, discontinued]) *AS04
- gestaltSCCReadAddr
- Returns the address of SCC read ports.
-
- const
- gestaltSCCReadAddr = 'sccr'; {SCC read ports address}
- sccw (System [6.0.4, discontinued]) *AS04
- gestaltSCCWriteAddr
- Returns the address of SCC write ports.
-
- const
- gestaltSCCWriteAddr = 'sccw'; {SCC write ports address}
- scr# (System [6.0.4])
- gestaltScriptCount
- Returns the number of script systems currently active.
-
- const
- gestaltScriptCount = 'scr#'; {number of active scripts}
- scra (Macintosh Easy Open cp [1.0]) *AD03
- gestaltScrapMgrAttr
- Returns information about the Scrap Manager.
-
- const
- gestaltScrapMgrAttr = 'scra'; {Scrap Mgr attributes}
- gestaltScrapMgrTranslationAware = 0;
- scri (System [6.0.4])
- gestaltScriptMgrVersion
- Returns the version number of the Script Manager as BCD.
-
- const
- gestaltScriptMgrVersion = 'scri'; {Script Mgr version}
-
- ======================================================================
- Version numbers for the Script Manager
- ======================================================================
- System Version Script Mgr Script Mgr Version
- (older ROMs)+ (newer ROMs) format
- ----------------------------------------------------------------------
- 6.0.3 and earlier <= $20F N.A. binary
- 6.0.4 Roman $211 $215 "
- 6.0.4 non-Roman $212 $216 "
- 6.0.5 $213 $217 (=2.23) "
-
- 6.0.7 $230 $231 BCD
- J-6.0.7.1 $230 $231 "
- 6.0.8 $230 $231 "
- 6.1 non-Roman $240 $241 "
- 7.0 $700 $700 "
- 7.0.1 Roman $701 $701 "
- 7.0.1 non-Roman $701 $701 "
- 7.1 $710 $710 "
- 7.5 $720 $720 "
- 7.5.1 $750 $750 "
-
- + Plus,SE,II,IIx,IIcx,SE/30,Classic
- ----------------------------------------------------------------------
- (Original source: Inside Macintosh Text, p. 6-9;
- Info on System 7.5 and later based on observations.)
-
- scsi (System [7.1.2?])
- (SCSI Manager ext [4.3])
- gestaltSCSI *AT07
- Returns information about the SCSI Manager.
-
- const
- gestaltSCSI = 'scsi'; {SCSI Manager attributes}
- gestaltAsyncSCSI = 0; {Supports asynchronous SCSI}
- gestaltAsyncSCSIINROM = 1; {Async SCSI is in ROM}
- { (available for booting)}
- gestaltSCSISlotBoot = 2; {ROM supports Slot-style PRAM for}
- { SCSI boots}
- sdev (Control Strip cp [1.0])
- gestaltControlStripAttr
- Returns information about the Control Strip software.
-
- const
- gestaltControlStripAttr = 'sdev';
- gestaltControlStripExists = 0; {TRUE = control strip is}
- { installed}
- gestaltControlStripVersionFixed = 1; {version of Control Strip}
- { installs 'csvr' selector}
- { instead of 'sdvr' *AS11}
-
- NOTE:
- A file 'IsControlStrip.c' included with the Apple Guide Authoring Kit
- defines this selector as:
- #define gestaltStatusBarAttr 'sdev'
- #define gestaltStatusBarExists 0
- (Rene Ros)
- sdvr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPStandardDirectoryVersion
- Returns the SDP Standard Directory version as INTEGER. Returns zero if
- not present and available.
-
- const
- gestaltSDPStandardDirectoryVersion = 'sdvr'; {SDP Standard Directory}
- {version}
-
- WARNING:
- The same selector code is used by the Control Strip 1.0 control panel.
- See the gestaltControlStripVersion ('csvr') selector entry above.
- ser (System [6.0.8?])
- gestaltSerialAttr
- Returns information about the serial hardware of the machine.
-
- const
- gestaltSerialAttr = 'ser '; {serial hardware attributes}
- gestaltGPIaToDCDa = 0;
- gestaltGPIaToRTxCa = 1;
- gestaltGPIaToDCDb = 2;
- slmp (Shared Library Manager? ext [2.0?])
- (System? [7.5?])
- gestaltASLMPPC *AS17
-
- NOTE:
- See the gestaltASLM68K ('aslm') entry for more information.
- slot (System [6.0.4, 6.0.5, discontinued])
- gestaltSlotAttr
- Returns information about the Slot Manager.
-
- const
- gestaltSlotAttr = 'slot'; {Slot Mgr attributes}
- gestaltSlotMgrExists = 0;
- gestaltNuBusPresent = 1;
- gestaltSESlotPresent = 2;
- gestaltSE30SlotPresent = 3;
- gestaltPortableSlotPresent = 4;
- slt1 (System [6.0.4, 6.0.5, discontinued])
- gestaltFirstSlotNumber
- Returns first slot number.
-
- const
- gestaltFirstSlotNumber = 'slt1'; {First Slot number}
- sltc (System [6.0.8?])
- gestaltNuBusConnectors
- Returns information about the NuBus slot connector locations. The
- value returned is a bitmap. If bits 9 to E are set, there are six
- slots present with locations 9 to E.
-
- const
- gestaltNuBusConnectors = 'sltc'; {NuBus connector bitmap}
-
- NOTE:
- This selector does not return information about the PDS slot (with
- or without NuBus adapter). Also, it is unknown if this selector also
- includes slot $8 which was added with the Power Macintosh 8100/110.
- (John Mancino)
- snd (System [6.0.4])
- gestaltSoundAttr
- Returns information about the sound capabilities of the machine.
-
- const
- gestaltSoundAttr = 'snd '; {sound attributes}
- gestaltStereoCapability = 0; {can play stereo sounds}
- gestaltStereoMixing = 1; {mixes channels into single}
- { signal}
- gestaltSoundReserved = 2;
- gestaltSoundIOMgrPresent = 3; {new sound input routines avail.}
- gestaltBuiltInSoundInput = 4; {built-in sound input device
- { available}
- gestaltHasSoundInputDevice = 5; {some sound input device avail.}
- gestaltPlayAndRecord = 6; {built-in hardware can play and}
- { record simultaneously}
- { *AS03/AS04}
- gestalt16BitSoundIO = 7; {sound hardware can play and}
- { record 16-bit samples *AS04}
- gestaltStereoInput = 8; {sound hardware can record}
- { stereo *AS04}
- gestaltLineLevelInput = 9; {sound input port requires}
- { line level *AS04}
- gestaltSndPlayDoubleBuffer = 10; {play from disk available *AS04}
- gestaltMultiChannels = 11; {multiple channel support}
- { *AS03/AS04}
- gestalt16BitAudioSupport = 12; {16 bit audio data supported}
- { *AS04}
-
- NOTES:
- Bit 7 through 12 are not defined for versions of the Sound Manager
- prior to version 3.0.
-
- With the Enhanced Sound Manager (version 2) you have both multi-
- channel and play-from-disk capability if the Apple Sound Chip is
- available. But the gestaltSndPlayDoubleBuffer and gestaltMultiChannels
- bits are not set. Test for the gestaltHasASC bit of the
- gestaltHardwareAttr selector. *AD06/AD20
- snhw (System [7.5])
- (Sound Manager ext [3.0])
- gestaltSoundHardware
- Returns type of hardware used for sound?
-
- const
- gestaltSoundHardware = 'snhw'; {Sound Hardware}
- gestaltASC = 'asc '; {ASC}
- gestaltDSP = 'dsp '; {DSP}
- gestaltClassicSound = 'clas'; {Classic Mac?}
- gestaltAWAC? = 'awac'; {returned on PowerMac}
- gestaltSing? = 'sing'; {returned on PB 540c}
- spsl (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPSPSendLetterVersion
- Returns the SMP SendLetter version as INTEGER. Returns zero if not
- present and available.
-
- const
- gestaltSMPSPSendLetterVersion = 'spsl'; {SMP Sendletter version}
- stdf (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltStandardFileAttr
- Returns information about the Standard File Package.
-
- const
- gestaltStandardFileAttr = 'stdf';{Standard File attr.}
- gestaltStandardFile58 = 0;
- {StandardPutFile, StandardGetFile, CustomPutFile}
- { and CustomGetFile are available.}
- gestaltStandardFileTranslationAware = 1; {*AD03/AS04}
- gestaltStandardFileHasColorIcons = 2; {*AD03/AS04/AS05}
- gestaltStandardFileUseGenericIcons = 3; {force the LDEF to use only}
- { the system generic icons}
- { *AT06}
- gestaltStandardFileHasDynamicVolumeAllocation = 4;
- {supports more than 20 volumes *AT06}
- sysa (System [7.1.2?]) *AS04
- gestaltSysArchitecture
- Returns one of the following values, indicating the type of
- architecture on which the application is currently running.
-
- const
- gestaltSysArchitecture = 'sysa'; {System Architecture type}
- gestalt68k = 1;
- gestaltPowerPC = 2;
- sysv (System [6.0.4]) INF
- gestaltSystemVersion
- Returns the version number of the currently active System file as BCD.
-
- const
- gestaltSystemVersion = 'sysv'; {System file version}
-
- NOTES:
- In addition KanjiTalk 6.0.7 (Japanese System) and other non-Roman
- versions return $0606. See the 'osyv' selector.
- System J-6.0.7.1 returns $0609
-
- System 6.0.8 returns $0x0607 because only the printer drivers were
- added. You can't determine if it is actually 6.0.8 in another way.
-
- There are some system versions (like International System 6.0.8.1 or
- 7.0.1.1) which just return the normal version number, i.e. 6.0.8 and
- 7.0.1.
-
- System 7.1.2 (for Power Macintosh) apparently returns an incorrect
- version number ($0710) when in 68K mode with a PPC Upgrade card.
- (Rick Gansler)
-
- System 7.5 Update 1.0 makes this selector return $0x751. (Anonymous)
- tabl (System [6.0.4])
- gestaltSelectorTable?
- Returns a handle to the Gestalt selector table itself.
-
- const
- gestaltSelectorTable? = 'tabl'; {Gestalt Table address}
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct. But it is likely to go away in future systems.
-
- NOTE:
- The Gestalt selector table is kept in a resizable block in the system
- heap. The last item in the table is a dummy entry (INVALID), marked by
- a selector OSType(MaxLongInt). (Marco Piovanelli, he also has some
- snippet Pascal code to list all selectors)
- With System 7.5 each item in the table now contains three parts:
- the selector, an information field and a field with either a pointer
- or a value. If the information field (or only bit 0) is 1, a value is
- stored, otherwise a pointer to the gestalt function. (Eric-Paul Rebel)
- tbtt (System [6.0.8])
- gestaltToolboxTable
- Returns the base address of the Toolbox trap table.
-
- const
- gestaltToolboxTable = 'tbtt'; {Toolbox trap table base}
- te (System [6.0.5])
- gestaltTextEditVersion
- Returns a value that indicates which version of TextEdit is present.
-
- const
- gestaltTextEditVersion = 'te '; {TextEdit version}
- gestaltTE1 = 1;
- gestaltTE2 = 2;
- gestaltTE3 = 3;
- gestaltTE4 = 4;
- gestaltTE5 = 5;
-
- ======================================================================
- Version numbers for TextEdit
- ======================================================================
- Returned value New Features System software Hardware
- ----------------------------------------------------------------------
- gestaltUndefSelector Multistyled TE before 6.0.4 all
- gestaltTE1 6.0.4 Roman IIci
- gestaltTE2 New width 6.0.4 non-Roman IIci
- measurement hook
- Script Mgr compatible
- gestaltTE3 6.0.4 non-Roman non-IIci
- gestaltTE4 TEFeatureFlag 6.0.5 all
- gestaltTE5 Text width 7.0 all
- measurement hook
- ----------------------------------------------------------------------
- (Source: Inside Macintosh Text, p.2-23)
-
- NOTE:
- The inline input features (also in TextEdit version 5) are also
- available with System 6.0.7 using non-Roman script systems, but there
- is no Gestalt constant that indicates this availability. *AD19
- teat (Macintosh Drag and Drop ext [1.0])
- gestaltTEAttr *AD05
- Returns information about the functions and capabilities of TextEdit.
-
- const
- gestaltTEAttr = 'teat'; {TextEdit attributes}
- gestaltTEHasGetHiliteRgn = 0; {TEGetHiliteRgn present}
- tele (System [7.5])
- (Telephone Manager Extension ext [2.0?], part of Apple Telecom)
- gestaltTelephoneMgrAttr?
- Returns information about the Telephone Mgr.
-
- const
- gestaltTelephoneMgrAttr? = 'tele';
- gestaltTelephoneMgrPresent = 0;
- gestaltPPCTelephoneLibPresent? = 1;
- gestaltTelephoneMgr??? = 2; {installed by version 2.0}
- gestaltTelephoneMgr??? = 3; {installed by version 2.0}
- gestaltTelephoneMgr??? = 4; {installed by version 2.0}
- gestaltTelephoneMgr??? = 5; {installed by version 2.0}
- gestaltTelephoneMgr??? = 6; {installed by version 2.0}
- term (System [7.1])
- gestaltTermMgrAttr
- Returns information about the Terminal Manager.
-
- const
- gestaltTermMgrAttr = 'term'; {Terminal Mgr attributes}
- gestaltTermMgrPresent = 0; {Terminal Mgr is present}
- gestaltTermMgrErrorString = 2; {*AS04}
- thds (Thread Manager ext [1.1]) *AD04
- (QuickDraw GX ext [1.0?])
- (System [7.1.2?])
- gestaltThreadAttr
- Returns information about the Thread Manager.
-
- const
- gestaltThreadAttr = 'thds'; {Thread Manager attributes}
- gestaltThreadsPresent = 0; {bit true if Threads present}
- gestaltSpecificMatchSupport = 1; {bit true if ‘exact match’}
- { API supported}
- gestaltThreadsLibraryPresent = 2; {bit true if ThreadsLib is}
- { present}
- gestalt??? = 3; {unknown, System 7.5.1}
- gestaltSchedulerFix? = 4; {preemptive scheduler fix}
- { present?}
-
- NOTE:
- IM OS Utilities lists this selector as 'gestaltThreadMgrAttr'.
- tmgr (System [6.0.4])
- gestaltTimeMgrVersion
- Returns a value that indicates the version of the Time Manager.
-
- const
- gestaltTimeMgrVersion = 'tmgr'; {Time Mgr version}
- gestaltStandardTimeMgr = 1; {Standard Time Mgr}
- gestaltRevisedTimeMgr = 2; {Revised Time Mgr}
- gestaltExtendedTimeMgr = 3; {Extended Time Mgr}
- tpad (System? [7.5?] on PowerBook 520/540?)
- Indicates precense of a trackpad? As such used in the 'IsTrackPad.c'
- file included with the Apple Guide Authoring Kit.
- tsma (System? [???])
- gestaltTSMgrAttr *AS14
- Returns information about the Text Services Manager.
-
- const
- gestaltTSMgrAttr = 'tsma'; {Text Services Mgr attributes}
- gestaltTSMDisplayMgrAwareBit = 0; {TSM knows about Display Mgr}
- tsmv (System [7.1])
- gestaltTSMgrVersion *AT05
- Returns Text Services Manager version in BCD.
-
- const
- gestaltTSMgrVersion = 'tsmv'; {Text Services Mgr version}
- tv (System? [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTVAttr *AS14
- Returns information about the TV capabilities?
-
- const
- gestaltTVAttr = 'tv '; {TV Version [huh? ed.]}
- gestaltHasTVTuner = 0; {supports Philips FL1236F}
- { video tuner}
- gestaltHasSoundFader = 1; {supports Philips TEA6330}
- { Sound Fader chip}
- gestaltHasHWClosedCaptioning = 2; {supports Philips SAA5252}
- { Closed Captioning}
- gestaltHasIRRemote = 3; {supports CyclopsII Infra Red}
- { Remote Control}
- gestaltHasVidDecoderScaler = 4; {supports Philips SAA7194}
- { Video Decoder/Scaler}
- gestaltHasStereoDecoder = 5; {supports Sony SBX1637A-01}
- { stereo decoder}
-
- NOTE:
- A Power Macintosh 6100/66 with AV card and System 7.5.1 had both bit
- 3 and 4 set. A Quadra 605 and LC475 (both with System 7.5.1) only had
- bit 3 set. Where is the remote control, then? Selector not installed
- on Quadra 700 and PB Duo 210 (also System 7.5.1).
- (John Tsombakos, Rene Ros)
- An LC630 didn't had bit 5 set, while it is supposed to have a stereo
- decoder. (Eric-Paul Rebel)
- ufox (Foreign File Access ext [4.0], part of Apple CD-ROM Software) *AT03
- gestaltForeignFileAccessVersion?
- Returns Foreign File Access version in BCD.
-
- const
- gestaltForeignFileAccessVersion? = 'ufox';
- {Foreign File Access version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- vers (System [6.0.4])
- gestaltVersion
- Returns the version of Gestalt as INTEGER.
-
- const
- gestaltVersion = 'vers'; {Gestalt version}
-
- NOTE:
- Usually version 1 is present. On machines with ROM version 1917
- (Quadra 840AV, PowerMacs etc.) version 4 is present.
- Version 5 is installed by System 7.5 adding support for the
- GestaltValue calls? And version 6 is installed by System 7.5
- Update 1.0? (Rene Ros, Anonymous)
- via1 (System [6.0.4, discontinued])
- gestaltVIA1Addr
- Returns the address of VIA 1.
-
- const
- gestaltVIA1Addr = 'via1'; {VIA 1 address}
- via2 (System [6.0.4, discontinued])
- gestaltVIA2Addr
- Returns the address of VIA 2.
-
- const
- gestaltVIA2Addr = 'via2'; {VIA 2 address}
- vm (System [6.0.4])
- gestaltVMAttr
- Returns information about virtual memory.
-
- const
- gestaltVMPresent = 0; {set; virtual memory present}
- gestaltVMNotInstalled = 0; {clear; virtual memory not present}
-
- NOTE:
- Future OS may have VM always on but this is not reported by this
- selector. A future selector will tell if the microkernal is running
- and thus if VM is actually used. *AD10
- wma. (System [7.0])
- (Responder ext [2.0?])
- gestaltResponderAttr
- Returns information about the Workstation Management Agent a.k.a.
- Responder.
-
- const
- gestaltResponderAttr = 'wma.'; {Responder attributes}
- gestaltResponderPresent = 0; {Responder is present}
- xlat (Macintosh Easy Open cp [1.0]) *AD03
- gestaltTranslationAttr
- Returns information about the Translation Manager.
-
- const
- gestaltTranslationAttr = 'xlat'; {Translation Mgr attrib.}
- gestaltTranslationMgrExists = 0; {TM present}
- gestaltTranslationMgrHintOrder = 1; {TRUE if hint order}
- { reversal bug is fixed}
- gestaltTranslationPPCAvail = 2; {PPC Lib. available}
- gestaltTranslationGetPathAPIAvail = 3; {GetFileTranslationPath}
- {and GetPathTranslationDialog available}
- gestalt??? = 4; {by MEO 1.1 and later}
- xttt (System [6.0.8])
- gestaltExtToolboxTable
- Returns the base address of the second half of the Toolbox trap table
- if the table is discontiguous. If the table is contiguous, this
- selector returns zero. *AD19
-
- const
- gestaltExtToolboxTable = 'xttt'; {Extended Toolbox trap table}
-
- NOTE:
- This selector may be installed but returns gestaltUnknownErr instead
- of zero when the table is contiguous? (Rene Ros)
-
- Apple Additional Software
- -------------------------
- arb (Serial Port Arbitrator ext [1.0], part of Apple Remote Access)
- gestaltArbitorAttr *AD02
- Returns information about the Serial Port Arbitration.
-
- const
- gestaltArbitorAttr = 'arb '; {Serial Port Arbitration}
- { attributes}
- gestaltSerialArbitrationExists = 0; {Serial Port Arbitration}
- { installed}
- cltn (QuickDraw GX [1.0])
- gestaltCollectionMgrVersion
- Returns the version of the Collection Manager as NumVersion.
-
- const
- gestaltCollectionMgrVersion = 'cltn'; {Collection Mgr version}
-
- NOTE:
- The Collection Manager is a set of routines for maintaining tagged
- collections of data; GX uses it to support the "tags" that you can
- attach to GX objects, for holding special data, including
- user-defined data. (Lawrence D'Oliveiro)
- gc24 (8*24 GC cp [???])
- gestaltGC24? *M07
- Returns the version of the 8*24 GC software for the Macintosh
- Display Card 8*24 GC as BCD?
-
- const
- gestaltGC24? = 'gc24';
-
- NOTE:
- This selector is also installed when no card is available. A value
- returned when no card is installed is $FFFF D8EB.
- gfxa (QuickDraw GX [1.0])
- gestaltGraphicsAttr
- Returns information about the Graphics.
-
- const
- gestaltGraphicsAttr = 'gfxa'; {graphics attributes bits }
- gestaltGraphicsIsDebugging = $0001;
- gestaltGraphicsIsLoaded = $0002;
- gestaltGraphicsIsPowerPC = $0004;
-
- NOTE: Not bit values but bit masks? Use AND?
- grfx (QuickDraw GX ext [1.0])
- gestaltGraphicsVersion
- Returns the version of the Graphics as ???.
-
- const
- gestaltGraphicsVersion = 'grfx'; {Gestalt version selector}
- gestaltCurrentGraphicsVersion = $00010000; {supposed value returned}
- kids (At Ease [1.0])
- kAtEaseGestalt
- Returns a handle to a structure holding information about At Ease.
-
- The following code was published by Apple *AT06:
-
- #define kAtEaseGestalt 'kids'
- typedef struct {
- short giVersion; /* structure version */
- short giIsActive; /* true if at ease is currently running */
- short giAutoCreateAlias; /* if true then auto create alias */
- short giRequestFloppy; /* if true then request floppy on new
- saves */
- short giStacksAreApps; /* if true then HyperCard stacks are shown
- with applications */
- FSSpec giItemsLocation; /* location of the At Ease Items folder */
- } GestaltRec, *GestaltRecPtr, **GestaltRecHand;
- mess (QuickDraw GX [1.0])
- gestaltMessageMgrVersion
- Returns the version of the Message Manager as ???.
-
- const
- gestaltMessageMgrVersion = 'mess'; {Message Mgr version}
-
- NOTE:
- The Message Manager is an implementation of object-oriented-style
- message passing within an inheritance hierarchy, that can be used from
- non-OO languages.
- It is used by the GX printing system, to allow the customization of
- printing behaviour by letting applications (and developers of printing
- extensions) intercept messages sent to the printer driver.
- (Lawrence D'Oliveiro)
- mtv2 (Video Player app [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTV *AD16
- "Indicates whether the Video Player app is present."
- pmgr (QuickDraw GX [1.0])
- gestaltGXPrintingMgrVersion
- Returns the version of the QuickDraw GX Printing Manager as ???.
-
- const
- gestaltGXPrintingMgrVersion = 'pmgr'; {QD GX Printing Mgr version}
-
- NOTE:
- The QuickDraw GX documentation lists this selector incorrectly as
- 'gestaltPrintingMgrVersion'. (Ken Prehoda)
- qd3d (QuickDraw 3D ext? [1.0?])
- gestaltQD3D
- Returns if QuickDraw 3D is installed or not (no attribute bits?).
-
- const
- gestaltQD3D = 'qd3d';
- gestaltQD3DNotPresent = 0;
- gestaltQD3DAvailable = 1;
-
- WARNING:
- Info from QuickDraw 3D Alpha 2 headers, may change before going
- final! (Anonymous)
- qdgx (QuickDraw GX [1.0])
- gestaltGXVersion
- Returns the version of QuickDraw GX as ???.
-
- const
- gestaltGXVersion = 'qdgx'; {QuickDraw GX version}
-
- NOTE:
- Both the values $0100 8000 and $0001 0001 were observed.
- srta (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionAttr
- Returns information about the Speech Recognition software.
-
- const
- gestaltSpeechRecognitionAttr = 'srta';
- gestaltDesktopSpeechRecognition = 0; {Recognition using mic.}
- gestaltTelephoneSpeechRecognition = 1; {FUTURE}
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and the response value will
- indicate the speech recognition is available. (Rene Ros)
- srtb (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionVersion
- Returns the version of the Speech Recognition software as BCD.
-
- const
- gestaltSpeechRecognitionVersion = 'srtb';
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and its presence will indicate
- the speech recognition is available. (Rene Ros)
- strm (Remote Access Aliases [1.0], part of Apple Remote Access)
- gestaltRemoteAccessAttr *AD02
-
- const
- gestaltRemoteAccessAttr = 'strm'; {Remote Access attributes}
- gestaltRemoteAccessExists = 0; {ARA Connection Interface is}
- { available}
- gestaltRemoteAccessCallOnly = 1; {checks for ARA client *AD15}
- gestaltRemoteAccessMPServer = 2; {checks for ARA multi-port}
- { server *AD15}
- gestaltRemoteAccessVers2 = 3; {checks for ARA 2.0 features}
- { *AD15}
- tmTE (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEAttr *AS07
- Returns information about the Text Services Manager for TextEdit.
-
- const
- gestaltTSMTEAttr = 'tmTE'; {TSM for TE attributes}
- gestaltTSMTEPresent = 0; {TSM for TE is present}
- gestaltTSMTE = gestaltTSMTEPresent;
- tmTV (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEVersion *AS07
- Returns the version of the Text Services Manager for TextEdit as BCD.
-
- const
- gestaltTSMTEVersion = 'tmTV'; {TSM for TE version}
- gestaltTSMTE1 = $0100; {TSM for TE version 1.0}
- ttsc (Text-To-Speech Manager ext [1.0?])
- gestaltSpeechAttr
- Returns information about the Speech Manager.
-
- const
- gestaltSpeechAttr = 'ttsc'; {Text-To-Speech Manager attrib.}
- gestaltSpeechMgrPresent = 0; {bit true if Speech Mgr present}
- gestaltSpeechHasPPCGlue = 1; {Speech Mgr has native PPC glue}
-
- NOTE:
- With System 7.5.1 on a PowerBook Duo 210 this selector had both
- bits set indicating the PPC Glue is available, while it is not.
- (Rene Ros)
- ws 1 (WorldScript I ext [7.1?])
- gestaltWorldScriptIVersion?
- Returns version of WorldScript I software as BCD.
-
- const
- gestaltWorldScriptIVersion? = 'ws 1';
- XTND (??? [???])
- gestaltXTNDAttr *AS10
- Returns information about XTND Manager?
-
- const
- gestaltXTNDAttr = 'XTND';
- gestaltPPCXTNDPresent = 1;
-
- NOTE:
- Is used in some code to check if XTND engine is present. However it is
- unknown when it is installed, so supposedly it is meant for future
- use. Like a built-in XTND engine in the System Software? When the
- selector is installed all operations are dispatched through trap
- _XTNDMgr ($ABF4) otherwise the library provides the code.
- (Marco Piovanelli)
-
- Third Parties Software
- ----------------------
- !SYM (Symbionts ext [1.0] by B. Kevin Hardman)
- gestaltSymbiontsTable
- Returns a pointer to a structure containing the size of the System
- Heap before and after loading the INITs.
-
- const
- gestaltSymbiontsTable = '!SYM'; {Symbionts address}
- ADfd (AfterDark [2.0?] by Berkeley Systems, Inc.)
- gestaltAfterDarkFolder *M05
- Returns a pointer to a procedure that gives the DirID and vRefNum of
- the 'After Dark Files' folder.
-
- const
- gestaltAfterDarkFolder = 'ADfd';
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending an email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
- ADrk (AfterDark [2.0] by Berkeley Systems, Inc.)
- gestaltAfterDarkAttr *M05
- Returns a longword bitmask containing public information about
- After Dark.
-
- const
- gestaltAfterDarkAttr = 'ADrk'; {After Dark states}
- eSystemIQActive = 0; {SystemIQx activity monitor active}
- eSoundActive = 1; {AD has allocated a sound channel}
- eADAcquiringPassword = 2; {After Dark has its password dialog up}
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending an email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
- AlaC (A La Carte ext [1.1?] by Denali Software Development)
- gestaltALaCarte?
- Returns the address of the A La Carte INIT global data. The structure
- of the data is proprietary. The existence of the 'AlaC' selector
- indicates that the A La Carte INIT is loaded.
-
- const
- gestaltALaCarte? = 'AlaC';
- ApoL (Apollo ext [1.0] by Jeremy Roussak)
- gestaltApolloTable
- Returns a handle to an instance of a structure.
-
- const
- gestaltApolloTable = 'ApoL'; {Apollo address}
-
- NOTE:
- See for more information the Programmers' Information chapter in the
- Apollo documentation. (Jeremy Roussak)
- ASHI (Arashi app [???] by Juri Munkki)
- ???
- Returns information about the presence of Arashi by returning one (1)
- if loaded, and zero (0) when removed.
- AuBu (AutoBuild ext [1.0] by Rene G.A. Ros)
- gestaltAutoBuildVersion
- Returns the version of AutoBuild as NumVersion.
-
- const
- gestaltAutoBuildVersion = 'AuBu'; {AutoBuild version}
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
- BBlk (Basic Black cp [1.3], by Mason L. Bliss)
- gestaltBasicBlackAddr
- Returns the address of Basic Black's patch globals.
-
- const
- gestaltBasicBlackAddr = 'BBlk'; {Basic Black address}
-
- NOTE:
- See documentation included with Basic Black for more information.
- BIFF (QM Biff ext [1.0] by Patrick C. Beard)
- ???
- Determines if there is mail (QuickMail). The response long word is 1
- if you have mail, and 0 if you don't.
- Cafe (Coffee Break appl [1.0] by Thomas Reed)
- gestaltCoffeeBreakAddr?
- Returns a pointer to a code resource owned by Coffee Break.
- Details are private.
-
- const
- gestaltCoffeeBreakAddr? = 'Cafe';
- CKI3 (AETracker cp [3.0] by C.K. Haun)
- kAETrackerGestalt
- This selector returns a pointer to the external interface routine for
- AETracker, details of which are in the AETracker interface guide.
- (C.K. Haun)
-
- const
- kAETrackerGestalt = 'CKI3'; {AETracker address}
- CsWT (Desktop Strip cp [1.0b1] by Sigurdur Asgeirsson)
- gestaltDesktopStripAttr?
- Returns information about the installed Desktop Strip software.
-
- const
- gestaltDesktopStripAttr? = 'CsWT';
- gestaltDesktopStripPresent? = 0;
- dBgP (DBugR cp [1.0?] by Alessandro Levi Montalcini)
- ???
- Returns a pointer to a data structure with the preferences,
- identical to the data in the PREF resource, for which a template
- is included.
-
- NOTE: The d is actually the option-d character ($B6).
- EagL (Eagle ext [1.4], part of Apollo 1.1 by Jeremy Roussak)
- gestaltEagleAttr?
- Returns information about the state of the Eagle background
- application.
-
- const
- gestaltEagleAttr? = 'EagL'; {Eagle attributes}
- gestaltEaglePPCReady? = 0; {Eagle can accept next PPC}
- FPUE (SoftwareFPU cp [3.0?] by John Neil & Associates) *M06
- gestaltSoftwareFPUAddr?
- Detects presence of SoftwareFPU.
- If the result of the Gestalt call is noErr, then SoftwareFPU is
- installed, and the 68881 FPU reported by the gestaltFPUType selector
- is an emulated FPU. The value returned in the response is private and
- should be ignored.
-
- const
- gestaltSoftwareFPUAddr? = 'FPUE';
- FrcP (Decor cp [1.0] by Francois Pottier)
- gestaltDecorAddr
- Returns a pointer to a structure which can be read or changed, and
- enables programmers to change the picture on the desktop.
-
- const
- gestaltDecorAddr = 'FrcP'; {Decor address}
-
- NOTES:
- See for more information on how to use this structure the
- documentation included with Decor 1.0 or later.
-
- The c is actually the option-c character ($8D).
- FWRT (FullWrite app [2.0] by Akimbo Systems)
- gestaltFullWriteInfo
- Returns a handle to a FullWrite callbacks data structure when
- FullWrite is currently running. If it is not running 0 (zero) is
- returned.
-
- const
- gestaltFullWriteInfo = 'FWRT';
-
- NOTE:
- See for more information the FullWrite Extension SDK (For more
- information contact Akimbo Systems by email at FullWrite@akimbo.com)
- Gast (Gestalt! appl [2.9.2] by Roland Mansson)
- gestaltGestaltVersion
- Returns the version of the application as NumVersion.
- GestaltValue is removed when application quits. Just for fun.
- (Roland Mansson)
-
- const
- gestaltGestaltVersion = 'Gast'; {Gestalt! version}
-
- NOTE: The a is actually the option-u/a character ($8A).
- GTLK (GestaltTalk code by Brigham Stevens, Apple Computer DTS)
- ???
- Snippet code, see documentation.
- GWat (GestaltWatch ext [1.0] by Scot Bronson)
- ???
- Returns pointer to structure where collected information is stored.
-
- NOTE: In development, not yet available.
- ICTE (ICeTEe ext [1.1], part of Internet Config
- by Quinn “The Eskimo!” and Peter N. Lewis)
- gestaltInternetConfigTEAddr?
- Returns the address of a record which is documented in the
- IC Programmer's Kit.
-
- gestaltInternetConfigTEAddr? = 'ICTE';
- IF 8 (Speak Note cp [???] by Glenn R. Howes)
- gestaltSpeechNoteAttr?
- Returns information about the installed copy of Speak Note.
-
- const
- gestaltSpeechNoteAttr? = 'IF 8';
- gestaltSpeechNoteAvailable = 0;
- JMBe (Traceroute Ethernet LAP [1.0] by Jim Browne)
- gestalt???
- Returns the address of a structure as documented in the header file
- 'RawIP.h' to allow application programs to perform Raw IP writes and
- filter all incoming IP packets.
-
- gestalt??? = 'JMBe';
- Lnch (Network Time cp [2.0] by Pete Resnick)
- (First Launch Gestalt INIT code resource, by Pete Resnick)
- gestaltFirstLaunchAttr
- Returns info on whether the _Launch trap has been called by the
- System.
-
- const
- gestaltFirstLaunchAttr = 'Lnch'; {_Launch information)
- gestaltFirstLaunchDone = 0; {_Launch called, INIT time over}
-
- NOTE:
- Bit 0 of the response, gestaltFirstLaunchDone, indicates whether the
- _Launch trap has been called since startup of the machine. All other
- bits are reserved and currently 0. Even if not installed at INIT time,
- Network Time will install the Gestalt selector if it is not already
- there when the control panel is opened and automatically set
- bit 0 to 1.
- 68000 assembler source code is available for the INIT that installs
- the selector, and INIT resource -4048 from Network Time may be
- stolen (and renumbered as desired) and used in any INIT file as
- desired. (Pete Resnick)
- NIPX (Novell MacIPX cp [1.0.1] by Novell Inc.)
- gestaltNovellIPXVersion
- Returns the version of MacIPX as NumVersion.
-
- const
- gestaltNovellIPXVersion = 'NIPX'; {MacIPX version}
-
- NOTE:
- If the selector returns an error (i.e. no such selector?) then MacIPX
- is not installed. If the selector returns 0 then MacIPX is installed
- but the driver is not open. Any other value is the version.
- (Duane Murphy)
- NMBT (Attention cp [0.6] by Marco Piovanelli)
- gestaltAttentionAddr
- The response value returned is a pointer to a read-only parameter
- block in the system heap.
-
- const
- gestaltAttentionAddr = 'NMBT'; {Attention address}
-
- NOTE: See for more detailed information the included ReadMe file.
- NTim (Network Time cp [2.0] by Pete Resnick)
- ???
- Returns information private to Network Time.
- PNfs (FileSaver [3.0], part of Norton Utilities for Macintosh)
- Returns a private structure used by various portions of the
- Norton Utilities.
- PPP (PPP mdev [???], part of MacPPP by Merit Network, Inc. and the
- University of Michigan)
- gestalt???
- Returns the address of the Lap globals as documented in the header
- file 'ppp.h.source'. It's an absolutely enormous struct that contains
- among other things function pointers to let you open and close MacPPP.
- (Richard Buckle)
-
- const
- gestalt??? = 'PPP ';
-
- NOTE:
- Source code of MacPPP is available at: ftp://merit.edu/pub/ppp/mac/
- PWRS (PwrSwitcher cp [1.0] by David B. Lamkins)
- gestaltPwrSwitcherTable
- Returns a pointer to a private data structure (undocumented).
-
- const
- gestaltPwrSwitcherTable = 'PWRS'; {Power Switcher address}
- SAVC (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (CDU cp [1.0?] by Connectix Corp.)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- (ScreenDaemon ??? [1.0] by Mason L. Bliss)
- gestaltScreenSaverControl *M05
- Returns a pointer to a procedure of type
-
- typedef pascal OSErr (*SaverControlProcPtr) (SaverCommand command);
-
- which allows controlling the screen saver.
-
- const
- gestaltScreenSaverControl = 'SAVC';
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending an email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
- SAVR (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Arashi app [???] by Juri Munkki)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (CDU cp [1.0?] by Connectix Corp.)
- (Coffee Break app [1.0] by Thomas Reed)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- (ScreenDaemon ??? [1.0] by Mason L. Bliss)
- gestaltScreenSaverAttr *M05
- Returns information about the current screen saver. Defined if a
- screen saver is installed.
-
- const
- gestaltScreenSaverAttr = 'SAVR'; {Screen saver attributes}
- gestaltSaverTurnedOn = 0; {saver enabled/disabled}
- gestaltSaverAsleep = 1; {saver currently asleep}
- gestaltSaverDemoMode = 2; {saver sleeping in demo mode}
- gestaltSaverPasswordMode = 3; {saver sleeping in password-}
- { protected mode}
- gestaltAppDrawingDisabled = 4; {QD drawing disallowed between}
- { module animation frames}
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending an email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- Thomas Reed wrote some source code (C) demonstrating how to install
- this selector. You can get a copy by sending an email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/gestalt-savr.txt'
- SDdD (Shutdown Delay cp [2.0.1] by Alessandro Levi Montalcini)
- kSDDelayCreator
- Returns a pointer to a data structure described in the documentation
- included with Shutdown Delay.
-
- const
- kSDDelayCreator = 'SDdD';
-
- NOTE: The d is actually the option-shift v character ($D7).
- sDmn (ScreenDaemon ext [1.0] by Mason L. Bliss)
- gestaltScreenDaemonAddr
- Returns the address of ScreenDaemon's patch globals.
-
- const
- gestaltScreenDaemonAddr = 'sDmn'; {ScreenDaemon address}
- SHCM (Shared Code Manager ext [1.0] by Eric Schlegel of Microsoft Corp.)
- gestalt???
- Returns a pointer to an undocumented entrypoint into the Shared Code
- Manager.
-
- const
- gestalt??? = 'SHCM';
-
- NOTE:
- The Shared Code Manager (1991) is a simple DLL mechanism that is
- currently used by Microsoft's Mac OLE 1.0 (Object Linking & Embedding)
- and the applications that use OLE 1.0. (Eric Schlegel)
- SLip (StuffIt SpaceSaver ext [1.0?] by Aladdin Systems, Inc.)
- gestaltStuffItSpaceSaverAddr
- Returns the address of the SpaceSaver "command module" which allows
- developers to access all the functions of SpaceSaver.
- (Leonard Rosenthol)
-
- const
- gestaltStuffItSpaceSaverAddr = 'SLip';
- SPAL (SpeakAlert ext [1.0] by Brian Stern)
- gestaltSpeakAlert
- Details are private to SpeakAlert.
-
- const
- gestaltSpeakAlert = 'SPAL';
- SWVE (SimpleWave ext [1.0b1] by Rene G.A. Ros)
- gestaltSimpleWaveTable
- Returns a pointer to an INITGestalt structure.
-
- const
- gestaltSimpleWaveTable = 'SWVE';
- TExT (FileTyper Menu cp [none], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuAttr
- Returns information about the FileTyper Menu's operation.
-
- const
- gestaltTyperMenuAttr = 'TExT';
- gestalt??? = 0; {TRUE = NO item added to Finder's}
- { File menu}
-
- WARNING:
- No currently released version of FileTyper Menu (up to and including
- 4.1.1) installs this selector, but future versions may. Check for the
- existence of this selector first, if you use it. (Daniel Azuma)
- TMON (TMON Pro [3.0] by ICOM Simulations, Inc.)
- ???
- The value returned is a pointer to a Monitor information block. *M04
- (Scott Bronson)
- Typ4 (FileTyper Menu cp [4.1.1], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuPriv
- Returns private information, the existence of this selector indicates
- FileTyper Menu is installed.
-
- const
- gestaltTyperMenuPriv = 'Typ4';
-
- NOTE:
- Third parties can determine if FileTyper Menu is installed by
- checking for the existence of this selector. However, the actual value
- returned is private and subject to change. (Daniel Azuma)
- UMAM (Authentication Manager cp [1.0.7] by Robert John Churchill of the
- University of Michigan)
- gestaltAuthManVersion
- Returns the version of the Authentication Manager as Double BCD.
-
- const
- gestaltAuthManVersion = 'UMAM';
- YeHa (SpeedyFinder7 cp [1.5.4?] by Victor Tan)
- ???
- Returns a pointer to a private data structure (undocumented).
-
- NOTE:
- The structure to which the Gestalt selector refers changes almost
- invariably from version to version of SF7. Should someone work out
- parts of the structure of the selector keep in mind that it will
- almost certainly change in the next minor release and definitely with
- the next major release. (Victor Tan)
-
- Unknown Gestalt Selector Codes
- ==============================
- The following sections list selector codes of which the meaning is unknown.
-
- Apple Software
- --------------
- OSType(7)
- (System [6.0.4])
- Returns LongInt('carl') and a result code of noErr.
- OSType(13)
- (System [6.0.4])
- Returns LongInt('bbmc') and a result code of noErr.
- 3615 (Express Modem cp [1.0], part of Express Modem Software)
- a pc (PC Setup? cp [1.0?], part of Quadra 610-DOS software)
- admn (AppleShare Admin appl [3.0])
- gestaltASAdminAttr?
-
- const
- gestaltASAdminAttr? = 'admn';
- gestaltASAdminPresent? = 0;
- AgVU (Agent VU ext [2.0?], part of Virtual User)
- afps (AppleShare ext [3.5?], part of System 7.5)
- Bits 0 and 16 set.
- aint (System? [7.1.1?])
- NOTE: Returns 2 on a C660AV and Q840AV.
- apml (PowerTalk Manager ext [1.0?], part of PowerTalk)
- Bit 0 and 31 set.
- asps (AppleShare Print Server appl [3.0])
- gestaltASPrintServerAttr?
-
- const
- gestaltASPrintServerAttr? = 'asps';
- gestaltASPrintServerPresent? = 0;
- AtEa (At Ease Startup [2.0?], part of At Ease for Workgroups)
- bART (MacCheck app [1.0])
- BaRT (MacCheck app [1.0])
- bast (Performa cp [1.1], part of System 7.1P)
- batt (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- Returns information about the PowerBook battery?
-
- The debugger name for the routine which returns the response for this
- selector is called 'GETTIMELEFT'. But in what units? And what time?
- I've only seen the value 0, 5 or 6 returned. The GDEF calls the Power
- Manager (_PMgrOp [$A085 with D0=$00]) to get the info but I can't find
- which function. (Rene Ros)
- brcn (Screen? cp [1.0?] on Color Classic)
- brcN (Energy Saver cp [1.0?], part of Monitor Energy Saver)
- bugx (System [7.5])
- (System Update ext [3.0])
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. *AT06
- bugy (32-bit System Enabler [1.0])
- (Hardware System Update ext [1.0])
- (Network Launch Fix ext [1.0])
- (Sound Manager ext [3.0])
- (System? [7.1?])
- (System enabler 065)
- gestaltEnablerAttr?
-
- const
- gestaltEnablerAttr? = 'bugy'; ?
- gestaltEnablerEgretDispatchPatch? = 0; {these correct the system}?
- gestaltEnablerEgretTimePatch? = 1; { clock and modem perf.}?
- gestalt??? = 2; {unknown, Hardware Upd.}
- gestaltEnablerEgretTickHandlerPatch? = 3; { see bit 0 & 1}?
- gestalt??? = 4; {unknown, Hardware Upd.}
- gestaltEnablerSCSIPatch? = 5; {floppy drive fixed}?
- gestalt??? = 6; {unknown, Hardware Upd.}
- gestaltEnabler32bit? = 7; {32-bit enabler present}?
- gestalt??? = 9; {unknown, Sound Mgr 3.0}
- gestalt??? = 11; {unknown, Hardware Upd.}
- gestalt??? = 12; {unknown, Hardware Upd.}
- gestalt??? = 13; {unknown, Hardware Upd.}
- gestalt??? = 14; {unknown, Hardware Upd.}
- gestalt??? = 15; {unknown, Hardware Upd.}
- gestalt??? = 16; {unknown, Hardware Upd.}
- gestaltEnablerKeyboardPatch? = 17; {corrects Adjustable Kbd}
- { gestaltKeyboardType}
- { response?}
- gestalt??? = 18; {unknown, Hardware Upd.}
- gestalt??? = 19; {unknown, ???}
- gestalt??? = 24; {unknown, ???}
- gestalt??? = 25; {unknown, ???}
- gestalt??? = 26; {unknown, ???}
- gestaltNetworkLaunchFix? = 27; {fix problem with appl. on}
- { server launch with 68040}
- gestalt??? = 28; {unknown, ???}
- gestalt??? = 31; {unknown, ???}
-
- WARNING:
- These are ALL guesses. Well not entirely, I used the ResEdit CODE
- Editor to peek into the 32-bit System Enabler, Hardware System update
- and other software. Please check if I'am right. You should be able to
- find some of the answers in the INIT resource of the Hardware Update
- and the names of the PTCH resources in version 1.0 were also useful...
- The System Enablers (for new Macintosh models) don't seem to install
- or change any Gestalt selector to indicate their presence.
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. *AT06
- bugz (System [7.0]/Tune-up ext)
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. *AT06
- cate (Catalogs Extension? ext [???], part of PowerTalk)
- Bit 0 set.
- CDJR (Apple Menu Options cp [1.0], part of System 7.5)
- (ExtendedAppleMenu [???] by Chris Derossi)
- cfmg (System [7.1.2 on PowerMac])
- (CFM68K ext [1.0a1], part of OpenDoc)
- cith (System? [???])
- Seen under MAE 1.0.
- clbv (PowerTalk ext [1.0?], part of PowerTalk)
- Bit 0 set.
- comp (QuickDraw Font Plus ext [???], part of the KanjiTalk 7.1)
-
- NOTES:
- The name "QuickDraw Font Plus" is translated from Japanese and may be
- translated differently by Apple Computer, Inc.
-
- I think 'comp' stands for 'composite', as the INIT contains patches to
- the Font Manager needed to handle 'composite font suitcases'.
- (Marco Piovanelli)
- ctxm (???)
- cuda (System? [7.1.2?], on Performa 630TV)
- gestaltCudaDispatchMgrAttr?
- Returns information about the Cuda Dispatch Manager?
-
- gestaltCudaDispatchMgrAttr? = 'cuda';
-
- Value found: $0002 0028
- CYP8 (MegaPhone Menu ext [1.0] by Cypress Research Corp.,
- part of Apple Telecom)
- ddsk (DropDisk app [1.0b3], formerly Mount'em app by Mike Wise and
- Chris Cotton of Apple Computer)
- Only installed if DropDisk driver is loaded. Looks like the highword
- contains the version (of driver or application?) as BCD, while the
- low-word is a mystery.
-
- NOTE:
- See also the 'mtem' selector installed by Mount'em 1.0b1 and 1.0b2.
- detc (???)
- diag (Automated Diagnostics ext [1.0], part of Apple Personal
- Diagnostics 1.0)
- doub (WorldScript II ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestaltDoubleByteScriptVersion?
- Returns the version of WorldScript II as BCD?
-
- const
- gestaltDoubleByteScriptVersion? = 'doub';
-
- NOTE:
- This selector seems to be installed by WorldScript II (the
- System 7.1 ext needed to handle double-byte scripts like Japanese,
- Korean and Traditional Chinese). Known returned value is $0x0710.
- (Marco Piovanelli)
- dude (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- dudi (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- EM20 (Extensions Manager cp [2.0] by Ricardo Batista)
- Not installed by version 3.0 which is part of System 7.5?
- fdbk (Speech Setup cp? [???], part of PlainTalk)
- fdrs (Finder [7.1.1?])
- Installed by Finder extension?
- fnda (Finder [7.1.1])
- NOTE: The a is actually the option-a character ($8C).
- fnd& (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The & is actually the option-shift-a character ($E5).
- fnd* (Finder [7.1.1])
- NOTE: The * is actually the shift-6 character ($F6).
- fnd? (Finder [7.1.1?])
- Installed by Finder extension?
- fnd (Finder [7.1.1?])
- Installed by Finder extension?
- fndc (Finder [7.1.1])
- fndf (Find File Extension ext [1.1.1], part of System 7.5 Update 1.0)
- Returns the type of software extending the find capabilities of the
- Finder? If the selector isn't installed the find capbilities are
- not extended or a older version of Find File is installed?
- The response is 'fndf' if Find File is installed. (Rene Ros)
- fndn (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The n is actually an option-n, n ($96).
- FNDR (Finder [7.1.1?])
- Installed by Finder extension?
- fndx (AliasDragger ext [1.0b1] by Leonard Rosenthol)
- gestaltFinderFeaturesAttr?
- By installing this selector some undocumented features of the Finder
- (starting with System 7.1 Pro) are enabled.
-
- const
- gestaltFinderFeaturesAttr? = 'fndx';
- gestaltFinderControlDrag? = 0; {if set, control dragging an}
- { creates an alias}
-
- NOTE: The x is actually an option-x ($C5).
- Frs1 (??? [???]. part of Apple Telecom?)
- FrsH (??? [???]. part of Apple Telecom?)
- futr (ThreadsINIT ext [2.0?], part of Threads Package)
- gFax (Fax Extension ext [1.1?], part of Express Modem Software)
- gntz (System [7.1.2 on PowerMac])
- gpad (General Controls cp [7.5])
- gestaltGeneralControlsAddr?
- Returns the address to ???
-
- const
- gestaltGeneralControlsAddr? = 'gpad';
- gprf (General Controls cp [7.5])
- gestaltGeneralControlsAttr?
- Returns information about the settings made in the General Controls
- control panel.
-
- const
- gestaltGeneralControlsAttr? = 'gprf';
- gestaltControlGoDocuments? = 0; {go to Documents folder}
- gestaltControlGoLast? = 1; {go to last used folder}
- gestaltControlProtectSystem?= 2; {Protect System folder}
- gestaltControlHideDesktop? = 3; {Hide desktop}
- gestaltControlLauncher? = 4; {Display Launcher on startup}
- gestaltControlWarnShutdown? = 5; {Warn on incorrect shutdown}
- HAM (Apple Menu Options cp [1.0], part of System 7.5)
- (HAM ??? [???] by Inline Design)
- harp (PowerBook cp? [7.2?])
- hcsl (Finder [7.1.1?])
- heap (System [7.1.2 on PowerMac])
- Bits 1 and 5 set.
- hgfd (AppleShare File Server appl [3.0])
- gestaltASFileServerAttr?
-
- const
- gestaltASFileServerAttr? = 'hgfd';
- gestaltASFileServerPresent? = 0;
- HrIt (HearIt cp [1.0])
- iadj (System? [7.1.2?] with PowerTalk?)
- (Display Enabler ext, Icon relocation INIT ID#3 [1.0])
- idsp (System? [7.1?] on Macs with sound input?)
- Values found: $FFFF FFFF, $0x000C, $0x0000
- iic (???, on Performa 630TV)
- Value found: 3.
- immg (??? [???] on PowerBook 520/540? and Performa 630TV)
- Value found: $0100 0000. Version?
- intD (??? [???])
-
- NOTE:
- This is a mystery selector. It isn't installed by any software, as
- far as I know, but the Finder 7.1 checks for this selector in certain
- situations. (Marco Piovanelli)
- jkbd (??? (Japanese!) ext [1.0], part of KanjiTalk)
- lang (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestalt???Attr
- Returns information about the Language Manager?
-
- const
- gestaltLanguageMgrAttr = 'lang';
- gestaltLanguageMgr??? = 0;
- LASB (LaserWriter Bridge cp [2.0?], part of Network Software Installer 1.5)
- gestaltLaserWriterBridgeAddr?
- ldap (???)
- lngb (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- Value found: $00001FFF.
- lstk (Speech Setup cp? [???], part of PlainTalk)
- ltma (Link Tool Manager ext [2.0?], part of Apple Remote Access 2.0)
- gestaltLinkToolVersion?
- Returns the version of the Link Tool Manager as NumVersion?
-
- const
- gestaltLinkToolVersion? = 'ltma';
-
- NOTE:
- The only value I've seen returned was $02002008, which would mean
- '2.0d8' which was not correct since the 'vers' recource said '2.0f0'.
- The value is hardcoded in the .LTM Driver resource. (Rene Ros)
- mash (System [7.1P?]/At Ease [1.0?])
-
- NOTE:
- The Starter cp (part of System 7.1P) and Launcher cp (part of
- System 7.5) both contain a 'mash' resource and includes a template for
- it. Can this be the same data-structure? (Rene Ros)
- mbox (Mailbox Extension? ext [???], part of PowerTalk?)
- gestaltMailboxVersion?
- Returns version of Mailbox software as INTEGER.
-
- const
- gestaltMailboxVersion? = 'mbox';
- MClk (Date & Time cp [7.5], part of System 7.5)
- (SuperClock! cp [4.0] by Steve Christensen)
- mfdr (At Ease [1.0])
- mjik (MenuMagic ext [1.0], part of System 7.1 Pro and 7.5)
- mtem (Mount'em app [1.0b1-1.0b2] by Mike Wise and Chris Cotton of
- Apple Computer)
- See the 'ddsk' selector installed by DropDisk 1.0b3 and later.
- mtv! (TV Setup cp [1.0], part of System for Macintosh TV?)
-
- NOTE:
- Not seen installed, disassembled control panel, meaning unknown.
- It's probably an address. (Rene Ros)
- Norm (68K DebugServicesINIT ext [2.0?])
- Pointer to callback function?
- NubA (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubD (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubH (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubV (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- octb (System? [7.5?] on PowerBook 520/540?)
- ot (??? [???])
- gestaltOpenTransportAttr?
- Returns information about the Open Transport software?
-
- const
- gestaltOpenTransportAttr? = 'ot ';
- gestaltOpenTransportPresent? = 0;
-
- NOTE:
- Defined with early test-versions of Open Transport? Never seen
- installed. See the 'otan' selector.
- otan (??? [???])
- gestaltOpenTransportAttr? *AS18
- Returns information about the Open Transport software? If the
- function returns noerr and the response is non-zero, then
- Open Transport is present.
-
- const
- gestaltOpenTransportAttr? = 'otan';
- gestaltOpenTransportPresent? = 0;
-
- NOTE:
- Contrary to the 'ot ' selector this one is really installed by
- Open Transport.
- PhoN (PowerBook Setup cp [7.3.1?], PhoneINIT INIT resource)
- port (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltPortAttr?
- Returns information about the ports?
-
- const
- gestaltPortAttr? = 'port';
- gestaltHasInternalModem? = 0?;
- gestaltHasExternalPrinter? = 1?;
- gestaltHasExternalModem? = 2?;
-
- NOTE:
- System Enabler 201 and PowerBook Duo enabler contain an GDEF resource
- which indicates bits 0, 1 and 2 can be set. (Rene Ros)
- ppad (Performa cp [1.1], part of System 7.1P)
- ppcv (System? [???])
- gestaltPPCVersionAttr *AS16
- Returns the version of the PPC Toolbox? Or attribute bits?
-
- const
- gestaltPPCVersionAttr = 'ppcv';
- pprf (Performa cp [1.1], part of System 7.1P)
- ptlk (Speech Setup cp? [???], part of PlainTalk)
- pxtn (QuickDraw GX? ext? [???])
- Returns the version of the ??? as NumVersion.
- Remt (AutoRemounter cp [???])
- scrf (System? [7.5?])
- serh (System? [7.1.2?])
- gestaltSerialHardware?
- Returns type of hardware used for serial I/O?
-
- const
- gestaltSerialHardware? = 'serh'; {Serial Hardware}
- gestaltClassicSer? = 'Clas'; {returned on PPC 8100/80 (GeoPort?)}
- shal (System [7.1?])
-
- NOTE: Returns 2 on PowerMac and 1 on Centris 660AV
- slnk (MNPLinkTool? [1.0], part of Apple Remote Access)
- sndx (Sound Manager ext [3.0]?)
- gestaltSoundMgrAttr?
-
- const
- gestaltSoundMgrAttr? = 'sndx'?;
- gestaltSoundMgrPresent? = 0?
- SnLv (??? [???])
- kGestaltLevelMeter
- Defined in the SoundLevel.c source file, distributed with the
- SoundLevel sample code.
-
- kGestaltLevelMeter = 'SnLv';
- thng (ThreadsINIT ext [2.0?], part of Threads Package)
- thrd (ThreadsINIT ext [2.0?], part of Threads Package)
- udsk (System [7.1.2 on PowerMac])
- udsv (System [7.1.2 on PowerMac])
- vdrc (PC Exchange? cp [1.0?])
- vmbs (System [7.0])
- gestaltVMBackingStoreRef?
- Returns the file reference number of the Virtual Memory storage file
- if VM is present.
-
- const
- gestaltVMBackingStoreRef? = 'vmbs';
- vmcl (System, VM on [7.0])
- vmem (RAM Doubler [1.0] by Connectix Corporation)
- gestaltVMExtensionMgr?
- Returns type of software used to extend the Virtual Memory Mgr?
-
- const
- gestaltVMExtensionMgr? = 'vmem';
- gestaltRAMDoubler? = 'RaM2';
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
-
- Third Parties Software
- ----------------------
- *DC* (DepthCharge cp [???] by Maf Vosburgh)
- AClk (AutoClock Extension ext [1.3?] by Jean-Pierre Gachen)
- AcPC (AccessPC cp [3.0?] by Insignia Solutions)
- Version 3.0 always returns $8765 4321.
- ADex (AfterDark [2.0?] by Berkeley Systems, Inc.)
- ADii (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
- ADr2 (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
- ADRC (DDExpand appl [3.7.7?] by Fifth Generation Systems)
- ADTK (Talk*Control cp [???] by 2Way Computing, Inc.)
- AP00..AP06
- (RapidLock cp, RapidTrak cp or drivers? [1.1], part of RapidTrak
- software by Insignia Solutions Inc.)
- It seems these selectors are installed for each harddisk connected to
- your Macintosh. The last two bytes of the selector is the SCSI ID.
- AP17 (AccessPC cp [2.0?] by Insignia Solutions)
- ApWi (ApplWindows cp [2.0?] by Hiro Yamamoto)
- ASTN (Asante EN/SC ext [???] by Asante Technologies, Inc.)
- aYmm (AfterDark [2.0?] by Berkeley Systems, Inc.)
- AzNe (NameView cp [2.7?] by AStar Technologies, Inc.)
- A–Tr (Trapper ext [1.0?] by Alessandro Levi Montalcini)
- Bars (Virtual Desktop Extension ext [1.8?], part of Virtual Desktop
- by AWOL Software, Ross Brown)
- Blad (Blood cp [1.0.1?] by Alessandro Levi Montalcini)
- NOTES:
- The B is actually the option-s character ($A7).
- The d is actually the option-d character ($B6).
- bMRN (Super Boomerang cp [4.0?], part of Now Utilities by Now Software)
- cc20 (???)
-
- NOTE: The 'cc' are actually option-c ($8D).
- CDmn (CDMenu cp [1.0?] by Henrik Eliasson)
- CDUf (CDU cp [1.0?] by Connectix Corp.)
- CDUt (CDU cp [1.0?] by Connectix Corp.)
- CHSR (ChooserUser [1.2?] by Maurice Volaski)
- CiCN (Color ICON Mania cp [1.0] by Yosuke Suzuki)
- cLib (???)
- CPPf (Power To Go cp [2.0?] by AlSoft, Inc.)
- Cut! (Desktop Shortcut cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems
- DanS (PowerClick cp [1.0] by Daniel A. Segel)
- Day* (PowerCentral cp [1.3?] by DayStar Digital, Inc.)
- Returns $FFFF FFFF when no card is installed?
-
- NOTE: The * is actually the option-8 character ($A5).
- Dbug (???)
- DCDt (NoDesktopCleanup cp [1.0?] by Alessandro Levi Montalcini)
- DCKc (Keys! cp [1.0] by Stefan Kurth)
-
- NOTE: The lowercase c is actually the control-q (Command key sign)
- character ($11).
- DD37 (DiskDoubler [3.7] by Fifth Generation Systems, Inc.)
- DDAD (AutoDoubler cp [1.0?] by Fifth Generation Systems, Inc.)
- DFlh (DiskFlash cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- DlgV (Dialog View cp [2.11], formerly List Font cp by James W. Walker)
- See also 'LFnt'.
- Dpth (DepthMaster cp [1.0] by Victor Tan)
- DBPR (DATEBOOK PRO Extension ext [2.0.1?] by Aldus Corporation, now Adobe)
- Returns data about the current reminder? GDEF is called with 'SvA4'
- selector to initialize data inside the GDEF. (Rene Ros)
- DWG! (Volume Menu cp [1.0] by David Gladstone, Chris Burns, Julian Harris)
- EDCN (PPPReport cp [1.0b3?] by Eric de la Musse)
- ESCa (Escapade cp [1.0?] by Christopher R. Wysocki)
- ESOC (Serial of Champions ext [???] by Mike Throckmorton)
- Extn (Now Startup Manager cp [4.0?], part of Now Utilities by Now Software)
- ffEx (???)
- Fie (Icon7 ext [???] by Inline Designs)
- gestaltIcon7?
- fPth (FinderPaths cp? [???])
-
- NOTE: The f is actually the option-f character ($C4).
- fmci (FinderMenu INIT ext [1.0], part of UserLand's Frontier Runtime
- package)
- FMnu (Now FolderMenus cp [5.0.1], part of Now Utilities by Now Software)
- FtCg (FontPatchin cp [2.0?] by Keisuke Hara)
- FUWi (OutTheWindow! ext [1.0] by Olivier Lebra)
- FW14 (FileWave Administrator ext [2.0?], part of FileWave 2.0
- by Wave Research)
- FWCP (File Tracker Controls cp [1.0] by Mark Aiken)
- fWmM (Super Boomerang cp [4.0?], part of Now Utilities by Now Software)
- GrEG (Greg's Buttons ext [3.1.4?] by Greg Landweber)
- GtOp (MenuExtend cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- gV00 (PowerPort cp? [???])
- gV01 (PowerPort cp? [???])
- gV02 (PowerPort cp? [???])
- gV03 (PowerPort cp? [???])
- gV04 (PowerPort cp? [???])
- gV05 (PowerPort cp? [???])
- gV06 (PowerPort cp? [???])
- gV07 (PowerPort cp? [???])
- gV08 (PowerPort cp? [???])
- gV09 (PowerPort cp? [???])
- gV0A (PowerPort cp? [???])
- GVfd (???)
- GVms (???)
- GVso (Global Village Toolbox ext [2.1.4?] by Global Village Communication)
- GVsp (Global Village Toolbox ext [2.1.4?] by Global Village Communication)
- He20 (Helium cp [1.0?] by Robert L. Mathews)
- HEID (Incognito cp [1.0?] by Manuel Veloso)
- HPBG (HP Background ext [3.0?] by Hewlett-Packard Company)
- GDEF always returns value 1.
- HtLk (Reference Link ext [1.0] by James W. Walker)
- IACi (???)
- iHnd (Invisible Hand cp [1.0] by Carl Mauer)
-
- NOTE:
- Because this cp patches the _Random trap you can use this selector to
- determine its presence and refuse to continue.
- in++ (Inline++TSM cp [2.0?] by Hideaki Iimori)
- The response is an address to a private (??? -- some fields look like
- they may be public, but the docs are in Japanese) parameter block.
- (Marco Piovanelli)
- Info (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems)
- Intj (Interjection ext [???])
- JAiN (Rival cp by Inline Designs)
- gestaltRival
-
- NOTE: The i is actually the option-u/i character ($95).
- jbxC (???)
- jsm1 (???)
- JXNM (NowMenus cp [4.0?], part of Now Utilities by Now Software)
- KBCF (Easy KEYS cp [1.5] by Kerry Clendinning)
- KBCM (???)
- kPow (???)
- KQae (KQ Apple Events ext [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- KQue (KeyQuencer cp [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- LFnt (Dialog View cp [???], formerly List Font cp by James W. Walker)
- See also 'DlgV'.
- LNCH (Talk*Control cp [???] by 2Way Computing, Inc.)
- LxRZ (Retro.SCSI? ext [2.0?], part of Retrospect by Dantz Development
- Corporation)
- (Remote? cp [2.0?], part of Retrospect by Dantz Development
- Corporation)
- MAX` (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Returns pointer to private data?
- MAX~ (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Returns information about the PaperPort software? Attribute bits?
- Mgc! (Wizard INIT ext [1.0], part of Disk Wizard by Francois Pottier)
- MJC& (AutoMenus II cp [???] by Michael Conrad)
- MV10 (TearOFF cp [???] by Bad Boys' Software)
- nOAg (??? cp [1.2?], part of netOctopus by Pole Position)
- nOAv (??? cp [1.2?], part of netOctopus by Pole Position)
- Returns version as NumVersion?
- NCex (Now QuickFiler Extension ext [5.0.1], part of Now Utilities
- by Now Software)
- NGst (NokNok cp [1.0?])
- NkNk (NokNok cp [1.0?])
- NowT (Now Toolbox ext [4.0?], part of Now Utilities by Now Software)
- NWin (Now Startup Manager cp [5.0.1], part of Now Utilities
- by Now Software)
- Pax! (PaperPort cp [2.0?], part of Visioneer PaperPort by Visioneer, Inc.)
- PAXC (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Has something to do with compression?
- PBUf (???)
- PBUt (CDU cp [1.0?] by Connectix Corp.)
- PopF (PopupFolder cp [???] by Inline Software)
- PRT+ (PrintAid [0.9?] by James W. Walker)
- PtrP (PrintPatrol [1.0] by Randy DeRuiter and John Champion)
- QRef (QuickRef ext? [1.0] by Scott Bronson)
- QCam (QuickCamVideo ext [1.0] by Connectix Corporation)
- (QuickCamMic ext [1.0] by Connectix Corporation)
- QIC! (???)
- Rem* (???)
- ReSp (File Tracker Controls cp [1.0] by Mark Aiken)
- RO40 (??? [???] by ???)
- DiskCopy 6.0 checks for this selector.
-
- NOTE: Selector is OSType( $5285 3430 ).
- RQDC (DropCheck cp [???] by Ronald B. Queloz)
- SCTR (FaxMonitor ext [1.6?], part of FAXcilitate by PSI)
- SDIT (???)
- sDmn (ScreenDaemon ??? [1.0] by Mason L. Bliss)
- gestaltScreenDeamonAddr?
- Returns the address of Basic Black's patch globals.
-
- const
- gestaltScreenDeamonAddr? = 'sDmn'; {ScreenDeamon address}
-
- NOTE:
- See documentation included with ScreenDeamon for more information.
- SEcl (ScreenEclipse cp [1.0], part of ALSoft Power Utilities by
- ALSoft, Inc.)
- SFun (SF Windows [1.0] by Damon Cokenias)
- SFwd (Open-wide cp [3.0?] by James W. Walker)
- SLi2 (StuffIt SpaceSaver ext by Aladdin Systems, Inc. ?)
- SNIT (Snitch ext [1.0] by Mitch Jones)
- SPLO (SpigotVDIG ext [1.0] by SuperMac Technology)
- ST20 (Snap-To cp [2.0?] by Trevden Sherzell)
- STYH (StayHere! cp [2.0?] by Nobuhiro Miyatake)
- TapT (TappyType cp [2.0?] by Colin Klipsch)
- TgrX (Xmas Lights cp [1.0] by Tiger Technologies)
- Tmon (TMON Pro cp? [3.0] by ICOM Simulations)
- TSM+ (TSM Fix ext [1.0] by Matt Slot)
- tsmH (TSMHelper ext [???]) by Donald Brown, CE Software)
- UhOh (SpeedyFinder7 Extension ext [1.5.9h], part of SpeedyFinder7
- by Victor Tan)
- UlOn (UndelineEnabler ext [2.0?], part of FontPachin package by
- Keisuke Hara)
- See also FtCg selector.
- View (StuffIt Viewer Engine [???] by Aladdin Systems Inc.)
- gestaltViewerEngine
- The gestalt selector is not installed until someone (StuffIt) invokes
- the engine.
- vmFn (RAM Doubler [1.0] by Connectix Corporation)
- Seems to return a memory address, perhaps to a function to control
- Virtual Memory?
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
- WARE (???)
- WREO (Replace Existing Options cp [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character ($B7).
- Wttf (TeachText7.0 Font ext [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character ($B7).
- xMe0 (OptiMem cp [2.0?] by Jump Dev. Group Inc.)
-
- NOTE: The 0 is a zero ($30).
- YaHu (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems)
- ygS (???)
-
- NOTES:
- The y is actually option-u/y ($D8).
- The last byte is actually the BEL ASCII code ($07).
- YoHo (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools)
- by Aladdin Systems)
- YuHu (Desktop Makeover cp [1.0], part of Aladdin Desktop Tools)
- by Aladdin Systems)
- *Men (OtherMenu ext [1.0] by James W. Walker)
-
- Gestalt Manager Calls
- =====================
- All standard calls to the _Gestalt or _GestaltValueDispatch trap are listed
- in this chapter.
-
- Gestalt Manager Routines
- ------------------------
- The CallSelectorFunctionProc and NewSelectorFunctionProc functions were
- listed in the GestaltEqu.h file on E.T.O. #12 CD-ROM but not yet fully
- documented.
-
- FUNCTION Gestalt (selector: OSType; VAR response: LongInt): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _Gestalt ($A1AD)
- Registers on entry D0: selector code
- Registers on exit A0: response
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUnknownErr -5550 Could not obtain the response
- gestaltUndefSelectorErr -5551 Undefined selector
-
- FUNCTION NewGestalt (selector: OSType; selectorfunction: ProcPtr): OSErr
- Available since System 6.0.4.
- Trap Macro
- _NewGestalt ($A3AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit D0: result code
- Result codes
- noErr 0 No error
- memFullErr -108 Ran out of memory
- gestaltDupSelectorErr -5552 Selector already exists
- gestaltLocationErr -5553 Function not in system heap
-
- FUNCTION ReplaceGestalt (selector: OSType; selectorfunction: ProcPtr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _ReplaceGestalt ($A5AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit A0: address of old selector function
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUndefSelectorErr -5551 Undefined selector
- gestaltLocationErr -5553 Function not in system heap
-
- #define CallSelectorFunctionProc(userRoutine, selector, response) \
- (*userRoutine)(selector, response)
- Trap Macro
- ??? (???)
- Registers on entry ???
- Registers on exit ???
- Result codes
- noErr 0 No error
- ??? ??? ???
-
- #define NewSelectorFunctionProc(userRoutine) \
- (SelectorFunctionUPP)(userRoutine)
- Trap Macro
- ??? (???)
- Registers on entry ???
- Registers on exit ???
- Result codes
- noErr 0 No error
- ??? ??? ???
-
- Gestalt Value Routines
- ----------------------
- Please note the GestaltValue routines can be invoked through a library,
- but since System 7.5 the GestaltValue routines are also part of the OS.
- The GestaltValue routines are stack based and don't use registers.
- The GestaltValue library first checks to see if trap $ABF1 is implemented
- (System 7.5 and later). If trap $ABF1 is implemented, all calls to the
- library are routed to this trap, otherwise the library uses embedded code.
- Several Apple System selectors use the GestaltValueDispatch A-trap to
- install the response value starting with System 7.5.
-
- WARNING:
- The GestaltValue library distributed originally checks for the wrong trap
- (_ThreadDispatch, $ABF2). Make sure your software doesn't crash when this
- trap is installed by the Thread Manager extension.
- (Most info about the GestaltValue functions was provided by
- Marco Piovanelli and Dave Radcliffe).
-
- FUNCTION NewGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0401
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltDupSelectorErr -5552 Selector already exists
-
- FUNCTION ReplaceGestaltValue (selector: OSType;
- replacementValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0402
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltUndefSelectorErr -5551 Undefined selector
-
- FUNCTION DeleteGestaltValue (selector: OSType): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch ($ABF1) $0203
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- gestaltUndefSelectorErr -5551 Undefined selector
-
- Undocumented Gestalt Manager Routines
- -------------------------------------
- FUNCTION? GestaltDispatch? (???):OSErr;?
- Trap Macro
- _GestaltDispatch ($A0AD)
- Registers on entry ???
- Registers on exit ???
- Result codes
- noErr 0 No error
- ???
-
- NOTE:
- Found in the MPW, THINK C and THINK Pascal Traps Interface file
- on 'Bookmark CD 14'.
- Available since System 6.0.4 but code will always return error -50
- (paramErr). (Lawrence D'Oliveiro, Rene Ros)
-
- FUNCTION? GetGestaltProcPtr? (selector?: OSType;
- var selectorfunction: ProcPtr): OSErr;?
- Trap Macro
- _GetGestaltProcPtr ($A7AD)
- Registers on entry D0: selector code?
- Registers on exit ??: address of selector function
- Result codes
- noErr 0 No error
- ???
-
- NOTE:
- Found in the MPW Traps Interface file on 'Bookmark CD 14'.
- Available since System 6.0.4 but code will always return error -50
- (paramErr). (Lawrence D'Oliveiro, Rene Ros)
- I (Rene Ros) have written Pascal code to do what this system call
- probably is planned to do in the future.
-
- FUNCTION SetGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available since System 7.5?
- Trap Macro Selector
- ??? ???
- Result codes
- noErr 0 No error
- ???
-
- Kilo-liners
- ===========
- This chapter will list very small pieces of code which are related to
- any Gestalt Routine.
-
- Direct Gestalt Calls
- --------------------
- You can use the following code to call directly the Gestalt, NewGestalt and
- ReplaceGestalt traps. In that way the (large) glue code will not be
- installed by your compiler. (Contributions by Lawrence D'Oliveiro and
- Marco Piovanelli).
-
- FUNCTION Gestalt (selector: OSType; VAR response: LongInt): OSErr;
- inline $225F, $201F, $A1AD, $2288, $3E80;
- { move.l (sp)+, a1 }
- { move.l (sp)+, d0 }
- { _Gestalt }
- { move.l a0, (a1) }
- { move.w d0, (sp) }
-
- FUNCTION NewGestalt (selector: OSType;
- gestaltFunction: ProcPtr): OSErr;
- inline $205F, $201F, $A3AD, $3E80;
- { move.l (sp)+, a0 }
- { move.l (sp)+, d0 }
- { _NewGestalt }
- { move.w d0, (sp) }
-
- FUNCTION ReplaceGestalt (selector: OSType;
- gestaltFunction: ProcPtr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- inline $225F, $205F, $201F, $A5AD, $2288, $3E80;
- { move.l (sp)+, a1 }
- { move.l (sp)+, a0 }
- { move.l (sp)+, d0 }
- { _ReplaceGestalt }
- { move.l a0, (a1) }
- { move.w d0, (sp) }
-
- Direct GestaltValue Calls
- -------------------------
- You can use the following code to call directly the NewGestaltValue,
- ReplaceGestaltValue and DeleteGestaltValue when the _GestaltValueDispatch
- trap is available. *AS04
-
- FUNCTION NewGestaltValue(selector: OSType, newValue: LongInt): OSErr;
- inline $303C, $0401, $ABF1;
-
- FUNCTION ReplaceGestaltValue(selector: OSType,
- replacementValue: LongInt): OSErr;
- inline $303C, $0402, $ABF1;
-
- FUNCTION DeleteGestaltValue(selector: OSType): OSErr;
- inline $303C, $0203, $ABF1;
-
- GestaltSelectorZero
- -------------------
- With all the selectors that are supposed to return non-zero values if
- installed, it may be helpful to have an utility routine that returns a zero
- value (instead of an error) if a selector isn't installed. It's short and
- sweet because it makes a direct call to the _Gestalt trap; of course this
- means you can't use it on systems earlier than 6.0.4.
- (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION GestaltSelectorZero (Selector: OSType): LongInt;
- {returns the value of the specified Gestalt selector,}
- {or zero if unknown.}
- inline $201F, $A1AD, $6702, $91C8, $2E88;
- { move.l (sp)+, d0 }
- { _Gestalt }
- { beq.s @2 }
- { sub.l a0, a0 }
- { @2: move.l a0, (sp) }
-
- GestaltBitTest
- --------------
- The GestaltBitTest is a piece of inline assembly code which tests if the
- specified bit is set in the value from the specified Gestalt selector
- (false if the Gestalt call returns an error).
-
- Example:
- GestaltBitTest(gestaltAppleEventsAttr, gestaltAppleEventsPresent)
-
- (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION GestaltBitTest(Selector: OSType; BitNr: Integer): Boolean;
- inline
- $321F, $201F, $A1AD, $6702, $91C8, $2008, $0300, $56C0, $4400, $1E80
- { move.w (sp)+, d1 }
- { move.l (sp)+, d0 }
- { _Gestalt }
- { beq.s @2 }
- { sub.l a0, a0 }
- { @2: move.l a0, d0 }
- { btst d1, d0 }
- { sne.b d0 }
- { neg.b d0 }
- { move.b d0, (sp) }
-
- Call Gestalt Function Direct
- ----------------------------
- Suppose you have just loaded an GDEF resource, or replaced one and keep the
- original around and store a pointer to it somewhere private. Suppose next,
- you want to call it to obtain a response without using yet another selector.
- Thats what the following inline code is useful for. Just pass it the
- usual selector and result parameters but also a pointer to the GDEF
- (Lock it if it's a relocatable block).
-
- FUNCTION CallGestaltDEF (selector: OSType;
- var result: LongInt;
- aRoutine: ProcPtr): OSErr;
- inline $205F, $4E90;
- { move.l (sp)+, a0 }
- { jsr (a0) }
-
- Reports
- =======
- When someone reports some findings involving several selectors and/or a
- report is too long to include with the selector entry above, that report
- is listed here. They should be as short as possible with the maximum
- amount of information.
-
- Accessing the Gestalt Manager
- -----------------------------
- Several applications can use additional code to expand their capabilities
- and using this they may be able to access the Gestalt Manager. The software
- listed below are additional code providing access to the Gestalt Manager.
-
- Only a few locations are listed here, use the filename to search for other
- locations. Or use the known mirror sites of FTP sites.
-
- CheckGestaltFor (Neil Shulman)
- Hypercard external to access the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/check-gestalt-for-xcmd.hqx
-
- Gestalt Pro 1.1.2 (Rene G.A. Ros)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-pro-112.hqx
-
- Gestalt XFCN 3.2.1 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/gestalt-321.hqx
-
- GestaltExt (Andre Cavegn)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-ext.hqx
-
- Get Gestalt (AppleScript addition) 1.2 by Mark Alldritt
- Provides access to the Gestalt Manager for AppleScript scripts.
-
- ftp://gaea.kgs.ukans.edu/applescript/osaxen/script-tools-131-as.hqx
-
- Informant XFCN 1.0 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/information-10-xfcn-demo.hqx
-
- AppleShare File & Print Server selector codes
- ---------------------------------------------
- The selectors are defined when the application has run. If it is still
- running (or wasn't properly quit) the response is one. When the application
- has properly quit the response is zero.
- admn AppleShare Admin
- asps AppleShare Print Server
- hgfd AppleShare File Server
- (these three are undocumented)
-
- AppleTalk
- ---------
- With the release of the System 7 Tuner product, AppleTalk will not be
- loaded at startup, if prior to the previous shutdown AppleTalk was turned
- off in the Chooser. Under this circumstance, the 'atkv' selector is not
- available. If the 'atkv' selector is not available under System 7, this is
- an indicator that AppleTalk cannot be turned on without doing so in the
- Chooser and rebooting the system. *AT02
-
- Copy protection using Gestalt
- -----------------------------
- In D e v e l o p 17 Brigham Stevens suggests to use Gestalt and FindFolder
- as a way to implement copy protection in the most compatible way possible.
- By determining several characteristics at installation from the Gestalt Mgr
- and the DirID of the System Folder with FindFolder you can check for this
- info later. When is has changed you can then ask for the serial number
- or a password again. (Rene Ros)
-
- Environs & SysEnvirons
- ----------------------
- Using Macsbug it is very easy to determine that the SysEnvirons function
- uses the Gestalt Manager to fill the fields of the system environment
- record. So, when you install your own gestalt definitions by using the
- ReplaceGestalt function this will also change the information returned
- by SysEnvirons.
- The older Environs function doesn't use the Gestalt Mgr and the code
- seems to look only at two values in ROM. (Rene Ros)
-
- Executor Mac-emulator
- ---------------------
- Executor is a Macintosh Emulator for DOS machines, published by
- Abacus Research and Development, Inc. (1993/1994). The Gestalt Manager is
- also emulated and the version I have seen (on a 486DX) says it's a MacPlus
- with a 68LC040 processor with MMU. The 'sysv' selector returns 0x607 but
- it also lists a lot of selectors usually not installed by 6.0.7. Like
- the 'edtn' and 'stdf' selectors. For those it then simply returns zero.
- Strangely enough the 'tabl' selector is not installed, but this doesn't
- confuse the Gestalt! application! (Rene Ros)
-
- Gestalt Apple Event
- -------------------
- The scriptable Finder, implemented by the Finder Scripting Extension,
- provides an Apple event to query the Gestalt Manager. This can be used from
- AppleScript using the 'computer' command.
- And using the PPC Toolbox this now also means you can query a remote
- computer, provided the Finder Scripting Extension is installed.
- The Finder Scripting Extension is installed with System 7.5 (which also
- includes Finder 7.1.4) but can also be used with Finder 7.1.3. The
- extension will later be rolled into the Finder.
-
- The direct parameter for this event is a Gestalt selector code. If this is
- the only parameter, the result is the result of calling Gestalt with that
- code.
-
- An optional second parameter can be included, in which case it is a 32 bit
- number against which the result of calling Gestalt with the given selector
- is tested. When this parameter is present, the event returns true if all
- bits set in the optional parameter are set in the result from Gestalt, and
- false otherwise. In AppleScript, when telling Finder:
- computer "os " has 3
- returns true if the low-order two bits are set in the result from Gestalt.
- The equivalent event built "by hand" would be addressed to Finder (on the
- machine of interest) and would have the parameters
- key value type
- '----' 'os ' typeType (alternative: "os " typeChar)
- 'has ' 3 typeLongInteger ('has ' is keyASPrepositionHas)
-
- The event class would be kAEFinderSuite ('fndr'), and the event ID would be
- kAEGestalt ('gstl').
-
- For more reading:
- D e v e l o p Magazine, Issue 20. "Scripting the Finder from your
- Application" by Greg Anderson, page 65.
- Finder Suite documentation available (starting in March 1995) on the
- Developer CD Series (Reference) as
- :Technical Documentation:Apple Events Registry & Suites:
- AE Suite Finder:Finder Suite
-
- (John W. Baxter)
-
- Gestalt Applications
- --------------------
- Several specialized applications are available to display all installed
- Gestalt selectors. And several other applications heavily depend on the
- Gestalt Manager to show information on hardware and software.
-
- Only a few locations are listed here, use the filename to search for other
- locations. Or use the known mirror sites of FTP sites.
-
- DisplayGestalt (Craig Marciniak)
- Small application displays configuration using Gestalt Mgr, includes
- C-source.
-
- ftp://mac.archive.umich.edu/development/libraries/displaygestalt.cpt.hqx
-
- Gestalt! 3.0 (Roland Mansson)
- Displays responses from installed selectors.
-
- ftp://ftp.lu.se/pub/mac/util/gestalt300.cpt.hqx
- ftp://sumex-aim.stanford.edu/info-mac/cfg/gestalt-300.hqx
-
- Contact: Roland Mansson (roland.mansson@ldc.lu.se)
-
- GestaltDA 0.4 (Carl C. Hewitt, Apple Computer Inc.)
- Displays responses from installed selectors.
-
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Tools & Applications:OS/Toolbox:GestaltDA 0.4
-
- Contact: D e v e l o p (dev.subs@applelink.apple.com)
-
- Gestalt Environment 7
- Application to list a number of installed selectors.
-
- mailto:gestalt-selectors-list-request@bio.vu.nl
- 'archive get software/ge7.hqx'
-
- Go Gestalt appl 1.5 (Paul Reznick)
- Displays information obtained thru the Gestalt Mgr.
-
- mailto:gestalt-selectors-list-request@bio.vu.nl
- 'archive get software/go-gestalt-15.sit.hqx'
-
- Contact: Paul Reznick (PRzeznik@aol.com)
-
- Tattle-Tech appl (Decision Makers Software, Inc.)
- Uses Gestalt manager extensively to display all know information.
-
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tattle-tech-215.hqx
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tattle-tech-217-updt.hqx
-
- Contact: John Mancino (mancino@decismkr.com)
- TechTool appl 1.0.6 (Micromat Computer Systems)
- Application to reset PRAM, rebuild DTDB and show Gestalt info.
-
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tech-tool-106.hqx
-
- GestaltValue
- ------------
- The first time you call NewGestaltValue, the library installs two non-
- relocatable blocks in the system heap and the 'gval' gestalt selector. One
- of the blocks is filled with code: it's actually a gestalt definition that
- implements GestaltValue's shared mechanism. The second block contains the
- selectors and values GestaltValue manages. The response returned by the
- 'gval' selector is a pointer to the second non-relocatable block in the
- system heap. (Marco Piovanelli)
-
- Dave Radcliffe wrote on 23 March 1993 regarding some information, about the
- GestalValue glue code, listed with version 1.4 of this list:
- ---------------------------------------------------------------------------
- The information on the _GestaltValue trap ($ABF2) is correct based on the
- glue, but because of a mistake on my part, the glue should be checking for
- $ABF1. A new version of the glue is being distributed on the developer CD
- next month...
- ---------------------------------------------------------------------------
-
- The GestaltValue library can be found at Info-Mac.
- (ftp://sumex-aim.stanford.edu/info-mac/dev/gestalt-value-lib.hqx)
-
- GestaltValue & CodeWarrior Problem
- ----------------------------------
- The GestaltValue.o library is made up of several routines. The first time
- someone calls a routine from the library, the library installs itself into
- the System Heap and uses NSetTrapAddress to set up its own trap. Subsequent
- calls to the library will just map to a trap call. This allows the code to
- be loaded only once in memory, even if several INITs use GestaltValue.
-
- What's the problem? In order to install itself into the System Heap, the
- GestaltValue code must compute how big it is; it does this by subtracting
- the address of the first routine from the address of a stub routine located
- after the last real routine. That's common practice. It assumes, however,
- that the linker will preserve the order of the routines.
-
- But CodeWarrior's "Import MPW library" command does not preserve the order
- of the functions it finds inside the .o file. As a result, when you call
- NewGestaltValue for the first time, the library finds its own size to be
- negative. It asks the Memory Manager for a block of negative size and
- returns an error (memFullErr, I believe).
-
- Note that this only happens if your software is the first to call
- GestaltValue since the machine started up. Also, I think it won't happen
- under System 7.5 because GestaltValue is part of 7.5. If your program
- requires 7.5, you probably don't need the GestaltValue.o glue at all.
- (Francois Pottier)
-
- Glue code
- ---------
- These development/compiler software contain glue-code to handle a few
- selectors even when the Gestalt Manager is not available.
-
- THINK C (5.0 and later)
- THINK Pascal (4.0 and later)
- MPW (3.2 and later)
-
- The following selectors can be handled by the glue-code, with all others
- an error (gestaltUndefSelectorErr) will be returned.
-
- gestaltAppleTalkVersion = 'atlk';
- gestaltFPUType = 'fpu ';
- gestaltKeyboardType = 'kbd ';
- gestaltLogicalRAMSize = 'lram';
- gestaltMachineType = 'mach';
- gestaltMMUType = 'mmu ';
- gestaltPhysicalRAMSize = 'ram ';
- gestaltProcessorType = 'proc';
- gestaltQuickdrawVersion = 'qd ';
- gestaltSystemVersion = 'sysv';
- gestaltVersion = 'vers';
-
- Unless you are using direct calls, ofcourse.
- (Source: THINK Reference 2.0)
-
- Machine Names
- -------------
- The STR# resource with ID -16395, inside the system file, contains a list
- of Macintosh machine names. The selector gestaltMachineType ('mach')
- returns a value which can be used as the index value with an GetIndString
- call to get the appropriate machine name. There area few exceptions to
- this and these are discussed in this report.
-
- On Macintosh Performas (System 7.1), the Machine Name STR# resource will
- always return the string "Macintosh" (not "Macintosh Performa 450" or
- "Performa 450"). On all other Macintoshes, the string will return the
- correct name. (Mark Dawson)
- [And] if you do a dirty install [of System 7.5 or later] (right on top of
- an existing, pre-7.5 System), your machine type and icon will be preserved.
- If you do a clean install, you'll get the generic name/icon in the
- Finder's "About This Macintosh..." dialog. (Tim Swihart)
- This can be fixed by using the freeware Mac Identifier extension, located
- at ftp://sumex-aim.stanford.edu/info-mac/gui/mac-identifier-111.hqx. Or the
- WhoAmI? application, which can be found at
- ftp://sumex-aim.stanford.edu/info-mac/cfg/who-am-i-121.hqx. (Rene Ros)
- Apple says that in the future ID's will be reused and the kMachineNameStrID
- will contain only the text ' Macintosh' (two spaces first) *AT01
- This policy seems to have changed because the System 7.5 Update enabler
- installed by System 7.5 Update 1.0 either contains ' Macintosh',
- ' Macintosh PowerBook' or ' Power Macintosh' (all with two leading
- spaces). Perhaps the 'mach' selector in the future will be used to indicate
- the category only. Then we'll get another mechanism/selector to get the
- real machine type? Rumour goes a new ROM is developed which allows clone
- makers to have their machines identified properly. (Rene Ros, with some
- info from John Mancino)
-
- All system enablers have the machine name resource included to replace the
- one in the System file. In most cases this resource lists the same
- Macintosh names as the original one in System 7.1 and adds the names of the
- machines the enabler is intended for. But some only list the machines the
- enabler is used with. Therefor, if you want to display the name of a
- machine which isn't of the current machine type you can't rely on this
- resource anymore.
- Using the archive mail server you can obtain a ResEdit file with the
- complete machine name string resource. The command to use is
- 'archive get src/machname-str.sit.hqx'
- I will keep it up-to-date along with the changes in the gestaltMachineType
- entry. (Rene Ros)
-
- The Performa 600 was originally planned to ship as Macintosh IIvm but the
- name was changed because users thought 'vm' meant 'Virtual Memory'. MOST
- system enablers (i.e. 001, 040, 065 & 201) contain this original name.
-
- The Machine Name resource in the MAE Enabler 1.0 contains the string
- "MAE 1.0" in these items: 19, 28, 130, 131 and 132.
-
- The PowerPC Enabler 1.1 enabler contains a Machine Name resource which
- lists these names:
- items 1-66 contain the item number itself except:
- 12 Power Macintosh 8100/120
- 31 Paula's Desk Macintosh
- 39 Workgroup Server 9150
- 40 Power Macintosh 8100/110
- 46 Power Macintosh 6100/66
- 47 Power Macintosh 7100/80
- 55 Power Macintosh 8100/100
- 64 Power Macintosh 8100/60
- 65 Power Macintosh 8100/80
- 66 Power Macintosh 8100/100
- items 67-115 are empty except:
- 75 Power Macintosh 6100/60
- 100 Power Macintosh 6100/66
- 101 Power Macintosh 6100/80
- 111 Power Macintosh 7100/60
- 112 Power Macintosh 7100/66
- 113 Power Macintosh 7100/80
- items 116-123 contain the text " Power Macintosh"
- "Paula's Desk Macintosh" disappeared again with version 1.1.1 of the
- PowerPC enabler, it was replaced by the number '31' ! :-)
- The duplicate names for some of the Power Macintosh models was resolved
- and is it is now know that some values belong to a never to be released
- ROM version. See the gestaltMachineType entry for more detailed
- information.
-
- Macintosh Application Environment
- ---------------------------------
- Using the MAE 1.0 demo version is quite stressful since it expires after
- eight hours! Copying files to a disk doesn't work also because all you
- are left with is an file with only the resource map and a few resources.
- All resources are maintained by MAE. But by using ResEdit it is possible
- to copy the resources itself one for one to a file on a floppy disk.
- Under MAE 1.0 these results were found on a SUN SPARCstation 5:
- a/ux 3.0.1
- cput 5 (MC68040)
- fpu 0 (none)
- mach 19 (which is the LC, but the MAE Enabler only has
- 'MAE 1.0' in the machine name STR# resource)
- mmu 0 (none)
- proc 5 (MC60400)
- rom 2048K
- romv 1917
- snd 0 (no sound support, no system beeps to choose from)
- snhw awac
- cith 0 (huh?)
-
- See also a note with the gestaltMachineType ('mach') selector entry.
-
- (Rene Ros, with thanks to Jos van Wezel for providing the workstation
- and installing the software.)
-
- Macintosh Clones
- ----------------
- So far I know of two Macintosh clones. One is made by Pioneer and one by
- Radius. The Pioneer clone (codename Pioneer MPC-GX1 Multimedia Personal
- Computer) is an exact duplicate of the Power Macintosh 6100/66.
- The Radius clone (called System 100) is also an exact duplicate, but now
- of the Power Macintosh 8100 (clock speed unknown). When seen on the
- CeBIT '95 both ran System 7.5 and had the normal Apple ROMs. Hence they
- had the machine type selector ('mach') installed. (Rene Ros)
-
- Modern Memory Manager
- ---------------------
- The Universal Headers from Apple have a revised Memory Manager heap zone
- header and named constants, which provide a documented methode of detecting
- the Modern Memory Manager. It is as yet unknown whether the kNewDebugHeap
- flag set implies kNewStyleHeap set. The code here does not assume so...but
- some might wish to test each flag in its own function.
-
- Boolean IsModernMemory (void) {
-
- THz myZone = GetZone ();
-
- return (myZone->heapType & (kNewStyleHeap | kNewDebugHeap)) != 0;
- }
-
- If you use older headers, replace the return statement with this line:
-
- return (0 != ((*myZone).maxNRel & 0x0600));
-
- The new headers have the heapType field as a Byte (followed by a Byte
- filler), together replacing the maxNRel short. The bits in it are defined
- by these masks:
-
- enum {
- /* masks for Zone->heapType field */
- k32BitHeap = 1, /* valid in all Memory Managers */
- kNewStyleHeap = 2, /* true if new Heap Manager is present */
- kNewDebugHeap = 4 /* true if new Heap Manager is running in debug
- mode on this heap */
- };
-
- (John W. Baxter, Eric Schlegel)
-
- PPC Libraries
- -------------
- Some of the Gestalt selector functions are smart enough to avoid crashing
- when the user removed the library file from the Extensions folder without
- restarting the machine. And some selector functions aren't that smart.
- Safest is to preflight the first call you make into the library (for code
- or data) or include a preflight in your startup.
- (based on a posting by John Baxter in the comp.sys.mac.programmer Usenet
- newsgroup on Internet.)
-
- QuickTime
- ---------
- If you install QuickTime under System 6, a major portion of the Alias
- Manager and FSSpec support is also added. But, QT doesn't implement the
- Gestalt selectors because the implementation is not complete. You must
- check for either Alias Mgr or QuickTime. (Michael Hecht)
-
- These are the limitations for the Alias Mgr installed by QuickTime:
- - NewAlias will accept fromFile parameter, but it never creates a
- relative alias.
- - NewAliasMinimalFromPath and ResolveAliasFile aren't available.
- - ResolveAlias and UpdateAlias ignore the fromFile parameter.
- - MatchAlias may be called but the kARMMultVols, kARMSearchMore and
- kARMSearchRelFirst flags aren't available and ignored if passed.
- Also, a matchProc will never be called.
- - Won't mount network volumes.
-
- And these are the FSSpec calls available with System 6 when QuickTime is
- installed:
- - FSMakeFSSpec
- - FSpOpenDF
- - FSpOpenRF
- - FSpCreate
- - FSpDirCreate
- - FSpDelete
- - FSpGetFInfo
- - FSpSetFInfo
- - FSpSetFLock
- - FSpRstLock
- - FSpRename
- - FSpCatMove
- - FSpOpenResFile
- - FSpCreateResFile
- - FSpGetCatInfo
-
- See for more information Technical Note M.QT.MovieTB.Q&As (QT 510) and
- D e v e l o p 11 magazine on page 122.
-
- RAM Doubler
- -----------
- RAM Doubler implements virtual memory in a different way than the normal
- Apple VM mechanism. It looks like this is done in corporation with Apple
- since a selector installed by RAM Doubler is 'vmem' which is all lower-case
- and thus reserved by Apple.
- In addition the response from this selector is always LongInt('RaM2') which
- is the creator type of RAM Doubler. It seems this selector is used to
- indicate which software is used to extend the capabilities of the Virtual
- Memory Manager.
- RAM Doubler also installs the selector 'vmFn' which seems to be a pointer
- to a function to control RAMDoubler (1.0?) or to obtain information. It
- looks like registers are used to pass parameters to and from that function.
- D0 perhaps holds values 1 to 6 as input and perhaps A0 is used for the
- return value.
-
- FUNCTION VMExtensionControl? (selector: Integer; VAR result: LongInt): OSErr;
- Registers on entry D0: selector code
- Registers on exit A0: result code
- D0: error code
- Result codes
- noErr 0 No error
- invalidSelector? 206 Invalid selector value?
- ???
-
- Values used as selector:
- kVMControlType? = 1; {type VM extension: RaM2}
- kVMControlVersion? = 2; {version VM extension as BCD}
- kVMControl??? = 3; {engine version as BCD?: $0313}
- kVMControlMemSize? = 4; {unknown: Get/SetMemorySize?}
- kVMControlMemSize? = 5; {unknown: Get/SetMemorySize?}
- kVMControl??? = 6; {unknown}
- kVMContolMaxFunctions? = MAXINT; {returns number of valid selectors}
- { or any other value outside the}
- { current 1-6 range}
-
- Remember: all this is heresay!!!
-
- Because of all this you can imagine RAM Doubler replaces/installs the
- following System Software selectors (and I think it does):
- lram, pgsz, ram , vm , vmbs. (Anonymous, Rene Ros)
-
- General Info
- ============
- The following sections provide general information needed or useful in
- relation to the Gestalt Manager.
-
- System Managers
- ---------------
- Listed below is a table with the different software components of the
- System Software with their related selectors. The selectors listed with
- this table are included in the (known) 'Apple System Software' and
- 'Apple Additional Software' sections.
- It provides a cross-reference to selectors and a starting point into other
- documentation (Inside Macintosh).
- With System Software versions before 6.0.4 (and Gestalt) you may need to
- use TrapAvailable to determine the presence of certain system parts.
-
- ===========================================================================
- System Software components and their selectors
- ===========================================================================
- Manager Determine presence/features by using:
- ---------------------------------------------------------------------------
- 8*24 Graphics Card gc24
- A/UX a/ux
- ADB Mgr ???
- Alias Mgr alis
- AOCE Utilities ???
- Apple Event Mgr evnt
- Apple Guide help, reno
- Apple Photo Access kpcd
- Apple Remote Access arb , strm
- AppleScript ascr, ascv
- AppleTalk Mgr atkv, atlk
- AppleTalk Phase 2 atkv >= 53
- At Ease kids
- Audio CD Access aucd
- Authentication Mgr ???
- Catalog Mgr ???
- CD-ROM Software aucd, hscd, iscd, kpcd, ufox
- CD-ROM Software see:
- Apple Photo Access
- Audio CD Access
- Foreign File Access
- High Sierra File Access
- ISO 9660 File Access
- CloseView BSDa
- Code Fragment Mgr cfrg
- Collection Mgr cltn
- Color Mgr ???
- Color Picker Mgr cpkr
- ColorSync Utilities cmta, cmtc
- Communications Toolbox ctbm, ctbu, ctbv
- see also:
- Communications Resource Mgr
- Connection Mgr
- Telephone Mgr
- Terminal Mgr
- Communications Resource Mgr crm
- Component Mgr cpnt
- Compression Mgr icmp
- Connection Mgr conn
- Control Mgr no need to check
- Control Strip sdev, csvr
- Cuda Dispatch Mgr cuda? (for more info:
- Developer Note 'Mac LC630 &
- Quadra 630' and SAA7194/6 Philips
- Desktop Video Handbook)
- Cursor Utilities qd >= gestalt32BitQD
- Data Access Mgr dbac
- Date, Time and Measurement Utilities
- ???
- Debugger debugger dependant, see also MacsBug
- Deferred Task Mgr no need to check?
- Desk Manager no need to check
- Desktop Mgr PBHGetVolParms fills GetVolParmsInfoBuffer.
- Test for the bHasDesktopMgr bit (12) of the
- vMAttrib field for all volumes.
- Device Mgr no need to check
- Dialog Mgr ditl, TrapAvailable(_DialogMgrDispatch)
- Dictionary Mgr dict
- Digital Signatures Mgr dsig
- Disk Initialization Mgr fs
- Display Mgr dplv, dply
- Docking Mgr ???
- Drag Manager drag
- Easy Access eajt, easy
- Edition Mgr edtn
- Event Mgr no need to check?
- Exception Mgr no need to check?
- File Mgr ???, fs
- File System Mgr fs , fsm
- File Transfer Mgr fxfr
- Finder fndr
- FindFolder function fold
- Flagship flag
- Font Mgr font
- Foreign File Access ufox
- Gestalt Mgr gval, tabl, vers, TrapAvailable(_Gestalt),
- TrapAvailable(_GestaltValueDispatch)
- Graphics Worlds (qd > gestaltOriginalQD and qd < gestalt8BitQD)
- or (qd >=gestalt32BitQD)
- Help Mgr help
- High Sierra File Access hscd
- Icon Utilities icon, TrapAvailable(_IconDispatch)
- Interprogram Messaging Mgr ???
- ISO 9660 File Access hscd, iscd
- LAP Mgr atlk >= 53
- List Mgr no need to check ?
- MacsBug See PT 535 - MacsBug Q&As TechNote
- MacTCP mtcp
- Mathematical and Logical Utilities
- no need to check?
- Memory Mgr addr, cash, lram, os
- see also: Modern Memory Mgr
- Memory Management Utilities addr, TrapAvailable(_HWPriv) ?
- Menu Mgr no need to check
- Message Mgr mess
- MIDI Mgr ???
- Mixed Mode Mgr mixd
- Modern Memory Mgr see: Modern Memory Manager section of the
- Report chapter.
- Movie Toolbox ???
- Notification Mgr nmgr, TrapAvailable(_NMInstall) with System
- before 6.0.4 ?
- OCE Toolbox ocet, oceu
- OS Utilities depends on call
- OSA Use Component Mgr to check for Generic
- Scripting Component
- Package Mgr no need to check
- Parameter RAM Utilities no need to check?
- PC Exchange pcxg
- Picture Utilities sysv >= $0700
- Popup CDEF pop!
- Power Mgr powr
- PowerTalk see:
- Digital Signatures Mgr,
- OCE Toolbox,
- S&F Server,
- SDP Find,
- SDP Prompt,
- SDP Standard Directory,
- SMP Mailer,
- SMP Sendletter
- PPC Toolbox ppc
- Printing Manager no need to check?
- Process Mgr os
- Queue Utilities ???
- QuickDraw qd , qdrw
- QuickDraw GX qdgx
- QuickDraw GX Graphics gfxa, grfx
- QuickDraw GX Printing Mgr pmgr
- QuickTime qtim, qtrs
- Realtime Mgr rtmr
- Resource Mgr rsrc
- S&F Server (PowerTalk) see OCE Toolbox
- SANE (OmegaSANE) ???
- Scrap Mgr scra
- Script Mgr scr#, scri, TrapAvailable(_ScriptUtil)
- SCSI Mgr scsi
- SDP Find (PowerTalk) dfnd
- SDP Prompt (PowerTalk) prpv
- SDP Standard Directory (PowerTalk)
- sdvr
- Segment Mgr no need to check
- Server control calls TrapAvailable(ServerDispatch) [$A094]
- Shared Library Mgr aslm, slmp
- Shutdown Mgr TrapAvailable(_Shutdown) ?
- Slot Mgr nubs, slot, slt1, sltc
- SMP Mailer (PowerTalk) malr
- SMP Sendletter (PowerTalk) spsl
- Sound Mgr snd , snhw, TrapAvailable(_SoundDispatch)
- Sound Input Mgr snd
- Speech Mgr ttsc
- Speech Recognition srta, srtb
- Standard Catalog Package ???
- Standard File Package stdf
- Standard Mail Package ???
- Standard NBP nlup
- Start Mgr ???
- System Toolbox (hardware)
- coprocessor fpu
- disks intd
- keyboard kbd
- machine mach
- misc. ICs hdwr, mmu , rbv , sccr, sccw, ser ,
- via1, via2
- processor cput, proc, sysa
- RAM ICs ram , prty
- ROM ICs rom , romv
- trackpad tpad
- System Toolbox (software) lmem, micn, misc, os , ostt, osyv,
- sysv, tbtt, xttt
- Telephone Mgr tele
- Terminal Mgr term
- Text Services Mgr tsma, tsmv
- Text Services Manager for TextEdit
- tmTE, tmTV
- Text Utilities depends on call
- TextEdit te , teat
- Thread Mgr thds
- Time Mgr tmgr
- Toolbox Utilities depends on call
- Translation Mgr xlat
- TV & Video mtv2, tv
- Vertical Retrace Mgr no need to check
- Video see: TV & Video
- Virtual Memory Mgr pgsz, vm
- Window Mgr no need to check
- Workstation Management Agent wma.
- WorldScript scri >= $0710, ws 1
- XTND Technology XTND
- ---------------------------------------------------------------------------
-
- Gestalt Problems
- ----------------
- This section lists all known problems related to the Gestalt selectors.
- Each problem is also listed with each of the entries in the selector
- chapters above. The table below provides an overview.
-
- ===========================================================================
- Overview Gestalt selector problems
- ===========================================================================
- Software Code Problem Status
- ---------------------------------------------------------------------------
- Apple Photo Access ext kpcd always returns $FFFFFFF7 R unclear
- AppleScript ext ascv different formats version R problem?
- AppleTalk atkv majorRev of version in hex problem?
- Color Picker ext cpkr incorrect return values? problem?
- Control Strip cp sdev two symbolic names defined problem?
- Easy Access cp easy incorrect return values C unknown
- Icon Utilities code icon not installed C SYS 712?
- File System Manager fsm not installed with System 7.5 UPD 1.0
- Link Tool Mgr 2.0 ext ltma incorrect version value? R problem?
- PowerTalk ext/Control Strip 1.0 cp
- sdvr same selector for both? C CS 1.1?>
- Speech Manager ext ttsc With Sys 7.5.1 PPC Glue bit set
- on 68K machines unclear
- Speech Recognition ext srta, srtb
- installed even if no SR possible R unclear
- System (enablers) *ALL* Gestalt Mgr with System 7.1.2 C SYS 7.5>
- *ALL* Minimal System (Disk Tools) may
- lie about managers present C unknown
- *ALL CTB*
- Comm. TB for System 6 doesn't
- install any of the CTB selectors C never
- alis QT part. installs but no selector C ok
- cash never installed? unclear
- cput incorrect values 68K header file C fixed
- system 7.5? returns incorrect
- values for 68K C unknown
- ctbv PM returned 1.1 while ROM has 1.0 C SU 3.0 >
- fs QT part. installs but no selector C ok
- intd bit 1 (disk spon up) not set R SYS751>?
- kbd Adjustable Keyboard incorrect C SU 2.0 >
- not installed on PM7100 (7.1.2) unclear
- mixd 'gestaltMixedModeVersion' is
- incorrect name C fixed
- qdrw HasColor set on B/W machines (7.0)C unknown
- rsrc PartialRsrcs not set with 7.0 C 7.1 >
- sltc No information on IIsi slot C never?
- sysv KanjiTalk 6.0.7 incorrect return value
- C sysvINIT
- System 6.0.8 returns $0607 never
- System 7.1.2/PPC card returns 0710 unclear
- tv Bits 3 and 4 incorrectly set unclear
- Bit 5 incorrectly clear unclear
- System/Apple Event ext evnt constants overlap header files C fixed
- ---------------------------------------------------------------------------
- R = unconfirmed but known to be reported to Apple
- C = confirmed
- fixed = problem is fixed, see selector entry for more information
- ok = meant to work this way...
- unclear = unclear if it will ever be fixed
- unknown = unknown when it will be fixed
-
- One general Gestalt problem is that NewGestalt calls StripAddress on the
- procptr passed to it, not on a local copy, so the stripping becomes
- permanent. This is fixed by System 7.5.1.
-
- History
- -------
- This section contains a short overview about the history of the Gestalt
- Manager and its predecessors.
-
-
- **ENVIRONS**
-
- PROCEDURE Environs (VAR rom,machine: INTEGER);
-
- With the introduction of the Macintosh the system routine 'Environs' was
- introduced. It allowed to obtain two pieces of information: the ROM version
- and a value to indicate the machinetype. This "ROM oriented" way soon
- appeared to be insufficient when the range of Macintosh hardware and
- software became more diverse.
-
-
- **SYSENVIRONS**
-
- FUNCTION SysEnvirons (versionRequested: INTEGER;
- VAR theWorld: SysEnvRec): OSErr;
-
- With System 4.1 a new system routine was introduced which allowed the
- programmer to obtain more information about the current configuration.
- Upon completion SysEnvirons filled the SysEnvRec with the information.
- This was however an "all-or-nothing" situation, it was not possible to
- obtain just one piece of information.
- To allow for larger system environment records with more information one
- needed to specify the version number of the system environment record. The
- last version, introduced with System 6, was version 2 which had nine fields.
-
-
- **GESTALT**
-
- FUNCTION Gestalt (code: LONGINT; VAR feature: LONGINT): OSErr;
-
- You may wonder how one can be so stupid to list the Gestalt routine wrong...
- However, this is how the Gestalt routine was presented to developers in
- the Preliminairy Developer Note regarding System 7 in 1989. It was
- originally written in 1988.
- There was no selector of type OSType as we known it today. Instead a list
- of numerical constants was used, like:
-
- zVersion = $1; { Gestalt Version }
- zMachType = $100; { machine type }
- zSystemVers = $101; { system file version }
-
- and nine others.
- But the principle used with todays Gestalt routine was there: request one
- specific piece of information and you'll get it. Nothing more and nothing
- less. Back then it wasn't the Gestalt Manager since there was only one
- routine. Both the NewGestalt and the ReplaceGestalt did not exist.
- In June 1992 (released in February 1993?) three new functions were added
- to the Gestalt Manager: NewGestaltValue, ReplaceGestaltValue,
- DeleteGestaltValue and SetGestaltValue.
-
- Abbreviations
- -------------
- A/UX - Apple UNIX
- ADB - Apple Desktop Bus
- AMU - Apple Memory Unit?
- ARTA - Apple Real Time Architecture
- AS - AppleShare
- ASC - Apple Sound Chip
- ASCII - American Standard Code for Information Interchange
- ASIC - Application Specific Integrated Circuit
- ATA - ??? (ATA Mgr, for IDE drive support)
- AURP - AppleTalk Update-based Routing Protocol
- AWAC - Audio Waveform Amplifier and Converter
- Caboose - processor that manages the keyswitch, system power,
- the real-time clock, and parameter RAM
- CDEF - Control DEFinition (code resource)
- CISC - Complex Instruction Set Computer (compare with RISC)
- CLUT/DAC - color look-up table and digital-to-analog converter IC
- Combo - chip, combines the functions of the SCC and the SCSI controller
- CPU - Central Processing Unit
- Cuda - ASIC that implements the ADB, PRAM and Soft Power on more
- recent Macs. Apperantly this IC will (or already does?) emulate
- the IBM keyboard controller also.
- Cyclops - IC to control remote control receiver.
- DAFB - Direct Access Frame Buffer
- DAV - Digital Audio Video (connector)
- DDC - Display Driver Chip
- DESC - Digitale Video Decoder and Scaler
- DFAC - Digitally Filtered Audio Chip
- DITL - Dialog ITems List (resource)
- DLL - Dynamically Linkable Library
- DMA - Direct Memory Access
- DN - Developer Note
- DOS - Disk Operating System (to run a computer???)
- DRAM - Dynamic RAM
- DSP - Digital Signal Processor
- EASC - Enhanced Apple Sound Chip
- FAT - File Allocation Table?
- FMC - Fitch Memory Controller
- FPU - Floating Point Unit
- GDEF - Gestalt DEFinition (code resource)
- GPi - General Purpose Input
- IDE - Integrated Device Electronics
- IIC - Inter-Integrated Circuit, standard bus for talking to TV related
- chips using a 3-wire signal.
- IM - Inside Macintosh
- IOP - Input/Output Processor
- IWM - Integrated Woz Machine
- Jaws - ???
- JDB - Junction Data Bus
- JMC - Jaws Memory Controller
- MacOS - Macintosh Operating System
- MCU - Memory Control Unit
- MAE - Macintosh Application Environment (Mac system on UNIX RISC)
- MEO - Macintosh Easy Open
- MMU - Memory Management Unit
- NBP - Name Binding Protocol
- NTSC - National Television Standards Comittee
- (standard broadcast TV in North America and Japan)
- OCE - Open Colloboration Environment
- OMC - Orwell Memory Controller
- OS - Operating System
- OSA - Open Scripting Architecture:
- OSA is the Open Scripting Architecture. It is the layer upon
- which all scripting languages sit and the method by which
- applications call scripts. (Jon Pugh)
- OSL - Object Support Library
- OSS - Operating System Support chip
- PAL - Phase Alternating Line system
- (standard broadcast TV in most of Europe, South America, and
- southern Asia)
- PB - PowerBook
- PCI - Peripheral Component Interconnect bus
- PDS - Processor-Direct Slot
- PGC - Parity Generator Chip
- PMMU - Paged Memory Management Unit
- PSRAM - Pseudo Static RAM
- PPC - Process-to-Process Communication, also:
- PowerPC
- PRAM - Parameter RAM
- ProDOS - Professional Disk Operating System? (OS for the Apple ][)
- PWM - Pulse-Width Modulated?
- QD - QuickDraw
- RAM - Random Access Memory (see DRAM & SRAM, compare ROM)
- RAMDAC - Random Access Memory, Digital/Analog Converter
- RBV - RAM-Based Video
- RISC - Reduced Instruction Set Computer (compare with CISC)
- ROM - Read Only Memory
- RSB - Ram Based Sound
- RTC chip - Real-Time Clock chip
- RPU - Random Parity Unit
- SANE - Standard Apple Numerics Environment
- SCC - Serial Communications Controller
- SCSI - Small Computer System Interface
- SDP - Standard Directory Package
- SECAM - standard broadcast TV in France and the former Soviet
- SIMM - Single In-line Memory Module
- SMP - Standard Mailer Package
- SOM - System Object Model
- Sonic - chip for built-in Ethernet
- Sporty - a custom IC that provides sound output amplification functions
- SRAM - Static RAM
- SWIM - Super-Wozniak Integrated Machine
- TE - TextEdit (32Kb limited built-in text-engine)
- TN - Technical Note
- TTS - Text-To-Speech
- Valkyrie - IC containing the video display control
- VDAC - Video Digital to Analog Converter
- VIA - Versatile Interface Adapter
- VM - Virtual Memory
- VRAM - Video RAM
- YANCC - Yet Another NuBus Controller Chip
-
- Sources
- -------
- A Apple Computer, Inc.
- AD Documentation & Magazines
- AD01 MacTCP Programmer's Guide
- AD02 AppleTalk Remote Access API External Reference Specification
- AD03 Macintosh Easy Open programmer's docs
- AD04 Thread Manager 1.1 and 2.0 documentation
- AD05 Drag Manager Programmer's Guide
- AD06 Sound Manager Tech Note on BookMark CD 16
- AD07 D e v e l o p 17, p. 123
- AD08 MAE Compatibility Hints
- AD09 Color Matching documentation on ETO 14 and BookMark 18
- AD10 OS Compatibility doc on WWDC 1994 CD
- AD11 IM PPC System Software
- AD12 IM OS Utilities
- AD13 D e v e l o p 19, p. 105
- AD14 File System Manager Guide, Sep. 1994
- AD15 Apple Remote Access API, part of Mac OS SDK
- AD16 Apple Guide Authoring Kit
- AD17 IM Advanced Color Imaging (Draft)
- AD18 Apple Tech Info Library (http://www.info.apple.com/til.html)
- AD19 Macintosh Programmer's Toolbox Assistant (Online Reference)
- AD20 IM Sound
-
- Inside Macintosh can be found at:
- http://www.austin.apple.com:80/cgi-bin/lister-pl?Apple.Support.Area/Developer_Services/Technical_Documentation/Inside_Macintosh
-
- Sample Code can be found at:
- http://www.austin.apple.com:80/cgi-bin/lister-pl?Apple.Support.Area/Developer_Services/Sample_Code
-
- Information on D e v e l o p Magazine can be found at:
- http://www.austin.apple.com:80/cgi-bin/lister-pl?Apple.Support.Area/Developer_Services/Periodicals/develop
-
- AS Software, source code & header files
- AS01 QuickTime ImageCompression source files
- AS02 CommToolbox 1.1 source files
- AS03 MPW Interface files on Bookmark CD 14
- AS04 GestaltEqu header file on ETO 12
- AS05 GestaltEqu header file on ETO 13
- AS06 GestaltEqu header file on BookMark CD 17
- AS07 TSMTE header file on BookMark CD 17
- AS08 AppleScript header file on ETO 14
- AS09 Drag header file on ETO 14
- AS10 XTNDInterface header file on ETO 14
- AS11 ControlStrip header file on BookMark CD 19
- AS12 AppleGuide header file on BookMark CD 18
- AS13 Macintosh on RISC SDK (also on CodeWarrior CD)
- AS14 Gestalt header file as part of Universal Interfaces 2.0a1
- AS15 GestaltEqu header file for ETO 16 (on CodeWarrior 5 CD)
- AS16 PPCToolbox.p header file on CodeWarrior 5 CD
- AS17 Several header files on ETO 16
- AS18 Open Transport Client Note on the Mac OS SDK #2 CD
-
- AT Technical Notes
- AT01 TN M.OV.GestaltSysenvirons (OV 16), May 1987/Rev. Feb. 1995
- AT02 TN M.NW.AppleTalk2 (NW 13), Feb.1992
- AT03 TN M.DV.CD-ROMDriver (DV 22), May 1993
- AT04 TN M.HW.SCSI.Q&As (HW 540), Oct. 1990
- AT05 TN M.TX.TextServicesMgr.Q&As (TE 531), May 1993
- AT06 TN OS 05 - System Update 3.0, July 1993/Rev. May 1994
- AT07 TN M.DV.CuriousSCSI, May 1994
- AT08 TN OS 06 - Control Strip Modules, July 1994/Rev. Sep. 1994
- AT09 TN M.ME.VMMemoryMapping (TN-Memory), July 1987/Rev. March 1988
- AT10 TN M.PT.A/UX.Q&As, Oct. 1990/Rev. Sep. 1993
- AT11 TN M.QD.ColorQD Q&As, April 1990
- AT12 TN OS 07 - System 7.5 Update 1.0, February 1995
-
- The Technical Notes can be found at:
- http://www.austin.apple.com:80/cgi-bin/lister-pl?Apple.Support.Area/Developer_Services/Technical_Documentation/Mac_Tech_Notes
-
- S Symantec Corp.
- S01 THINK Pascal 4.0 interface files
- S02 THINK C GestaltGlue source files
- S03 THINK Reference 1.0 and 2.0
-
- M Miscellaneous sources
- M01 Gestalt DA 0.4 1990 (Carl C.Hewitt)
- M02 Gestalt dcmd 1.0 (Eric Simenel, Apple Computer France)
- M03 sysvINIT source files (Apple Computer Japan, Inc.)
- M04 TMON Professional Reference Manual, p.192 (ICOM Simulations)
- M05 AfterDarkGestalt.h file (Berkeley Systems, Inc.)
- M06 SoftwareFPU Programmer Info (John Neil & Associates)
- M07 GestaltZeigen (Kevin B. Hardman)
-
- Definitions and Format
- ======================
- This chapter explains where the word 'Gestalt' comes from, a few things
- are defined and it explains how each selector code entry looks like.
-
- Use in Language
- ---------------
-
- **WEBSTER'S DICTIONARY**
- ge.stalt \g<e>-'s(h)t<a:>lt, -'s(h)t<o.>lt\ n, pl ge.stalt.en
- \-<\e>n\ or gestalts (1922)
- [G, lit., shape, form]
- :a structure, configuration, or pattern of physical, biological, or
- psychological phenomena so integrated as to constitute a functional unit
- with properties not derivable by summation of its parts.
-
- (Try this one: http://www.fwi.uva.nl/htbin/webster.cgi?gestalt)
-
- **GERMAN-DUTCH DICTIONARY**
- Gestalt w [-en]
- stature, figure, form; Ritter von der Traurigen -, knight of the
- sorrowful figure.
-
- Definitions
- -----------
-
- **APPLE SOFTWARE**
- This category includes all selectors installed by software published by
- Apple Computer, Inc.
- Inside Macintosh says this about them:
- "Apple reserves for its own use all four-character sequences
- consisting solely of lowercase letters and non alphabetic ASCII
- characters".
- It includes all selectors of the next two categories:
-
- **APPLE SYSTEM SOFTWARE**
- This category includes all selectors installed by System Software from
- Apple Computer, Inc.
-
- **APPLE ADDITIONAL SOFTWARE**
- These are selectors installed by additional, non-system, software from
- Apple Computer, Inc.
-
- **THIRD PARTIES SOFTWARE**
- These are selectors installed by software from parties other than Apple
- Computer, Inc.
- Inside Macintosh says about these:
- "If you have registered a creator string with Apple, you are
- strongly encouraged to use that sequence as your selector code".
- This type of selectors is included in this list with the motto "If you
- don't know they are there, you can't do anything with them".
- Especially the Third Party selectors may change with every new release and
- are therefore only listed in the 'known selectors' part when the author has
- described the structure in the documentation or by email to me. These
- selectors don't have a high priority but when possible I want to know at
- least which software installs it to exclude it as a possible
- "Apple selector".
- Some people at Apple also differentiate between commercial developers and
- others, as being "third" and "fourth" parties respectively. But with this
- list this is not the case.
-
- Format Selector Entry
- ---------------------
- Format used to display information about each selector:
-
- selector_code (Software_name & type [since_version], by company/author)
- constant_name
- description
-
- const
- declaration; {remark *ref.number_to_source}
-
- NOTE and/or WARNING:
-
- Where the type is one of:
- app application (APPL)
- cp control panel (cdev)
- ext extension (INIT/appe/RDEV etc.)
-
- Example:
-
- COLA (Sugarwater ext [1.0] by John Sculley)
- gestaltSugarwaterVersion
- Returns version of Sugarwater as NumVersion.
-
- const
- gestaltSugarwaterVersion = 'COLA'; *AB01
-
- WARNING: This example is fictitious.
-
- NOTE:
- Sugarwater? See the book 'West of Eden, The End of Innocence at
- Apple' by Frank Rose.
-
- Most selectors are listed as four characters, if there are only two or
- three characters displayed the remainder are spaces (or it's a typo!).
- Diacritical characters are shown in the most logical normal character and
- at the end of the entry a note is included about which key-combination to
- press with a normal International system and US keyboard layout to get the
- required diacritical character and also listed is its hexadecimal code.
- When 'INF' is at the end of the first line it means it is an informational
- selector, all others are environmental selectors.
- The source reference number may also be used in other places than indicated
- above. It then applies to other parts of the entry or to the whole entry.
- A single question mark indicates an uncertainty regarding the information
- in front of the question mark. Three question marks indicate complete
- absence of the information.
- Some symbolic names may not originate from official publications.
-
- Symbolic Names Suffixes
- -----------------------
- The last characters of the symbolic names form a suffix which indicates
- the type of the returned value. Below is a table which lists the different
- types of suffix and their meaning.
-
- ===========================================================================
- Symbolic Names Suffixes
- ===========================================================================
- Suffix Meaning
- ---------------------------------------------------------------------------
- Addr Value is an address, i.e. to the base address of
- a memory-mapped device or to a function in
- memory.
- Attr Value is a range of 32 bits (0 is the least
- significant bit), must compare with list of
- constants and use BitTst or similair. Sometimes
- it is a bitmask, then use BitAnd.
- Count Value is a number indicating how many of the
- indicated type exist.
- Icon Value is the resource ID of an icon.
- Size Value is a size, usually in bytes.
- Table Value is the base address of a table.
- Type Value is an index to map to a version or name.
- Version Value is a version number. See the section
- 'Format Version Numbers' below, for a list of
- different formats of version numbers.
- <none> If there is no suffix like the ones above, the
- presence of the selector only implies the
- software which installed the selector is present.
- The returned value is then private to the
- installee.
- ---------------------------------------------------------------------------
-
- Format Version Numbers
- ----------------------
- BCD (Binary Coded Decimal)
- $0x0402 means 4.0.2.
-
- INTEGER
- The decimal representation of the returned value in the low-byte is
- the version.
-
- Double BCD (my own fantasy name..., Ed.)
- $00010108 means 1.1.8.
-
- NumVersion
- The format of the LongInt response can be coerced into type NumVersion,
- which is the same format as used for the 'vers' resource type.
-
- type
- NumVersion = packed record
- case INTEGER of
- 0: (majorRev: SignedByte; {1st part of version number in BCD}
- minorRev: 0..9; {2nd part is 1 nibble in BCD}
- bugFixRev: 0..9; {3rd part is 1 nibble in BCD}
- stage: SignedByte; {stage code: dev, alpha, beta, final}
- nonRelRev: SignedByte);{revision level of non-released version}
- 1: (version: LONGINT); {to use all 4 fields at one time}
- end;
-
- stage is one of: $20 = development
- $40 = alpha
- $60 = beta
- $80 = final
-
- About this list
- ===============
- The Gestalt Manager is a collection of system routines which allows
- applications to test for the availability of software and hardware. Because
- of the increasing number of different software and hardware configurations,
- this is getting an important issue. It probably already is and known by the
- term 'compatibility'.
- The Gestalt function allows applications to obtain information about the
- current configuration. Selectors are used to refer to certain information.
- A selector is of type OSType (a four byte value) and usually contain four
- ASCII characters. For example: the selector 'sysv' causes the version of
- the current system is returned. Other functions, NewGestalt and
- ReplaceGestalt, allow programmers to install their own Gestalt selectors.
- Programmers need to know these selectors beforehand to be able to request
- and interpret the value returned by the Gestalt function.
- See for more detailed information on how to use the Gestalt Manager
- routines Inside Macintosh part VI (old series). The new Inside
- Macintosh: Operating System Utilities replaces IM VI.
- The Driver Gestalt calls (status calls to device drivers) are not covered
- by this list.
- When you already have one or more of the new IM issues you may be a bit
- disappointed. I was, because of the very minimal information provided
- regarding the availability of the system routines. Of most routines you
- will find no information on how to test their availability.
-
- This Gestalt Selectors List intends to list all known selectors, but in
- reality this means it lists all selectors known to the editor.
- I would like to see this list to be a combined effort by different persons
- who have together access to a wide area of information.
- This list may contain (educated?) guesses and perhaps even false
- information, so no guarantee is made about the contents.
- You may use this information freely (see Legal Stuff section below), but
- when you find information not included with this list; please tell me. If
- you have additions, corrections, comments, suggestions, news about
- available software, etc., mail it me. Please, also mention the source you
- used, if any.
- You can send contributions, remarks, etc. to this email address:
- gestalt-selectors-list@bio.vu.nl
- If you want to remain anonymous, please mention this and it will be taken
- care of.
- I don't have all the documentation or knowledge and I don't want to, and
- I'am certainly not Mr.Gestalt.
-
- Availability
- ------------
- If you downloaded this list from CompuServe, a BBS, or any other service,
- you will notice some strange things like 'FTP-sites' which have to do
- with the fact that this list originates from INTERNET.
- You can access the mail archive server also from CompuServe, AOL and
- AppleLink. Contact your network provider for information on how to send
- email to an INTERNET site.
-
- This list is available in the following ways:
-
- **INTERNET**
-
- USENET newsgroup comp.sys.mac.programmer (C.S.M.P.)
- This list has become too large to post to C.S.M.P., so starting from
- version 2.2 this list is no longer posted there. Instead an announcement
- will be posted to some c.s.m.p. subgroups (help, info, misc and tools)
- informing were you can find the latest version.
-
- FTP-SITE
- sumex-aim.stanford.edu [36.44.0.6]
- Every minor and major version is submitted to the info-mac archives:
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/info/gestalt-selectors-28.hqx
-
- It is also available on its mirror sites.
-
- Contact: Info-Mac Moderator (info-mac-request@sumex-aim.stanford.edu)
-
- FINGER
- Using Finger to obtain the latest version is no longer possible.
-
- WWW
- Vrije Universiteit
- The GSL can be found behind the home page of the editor:
-
- http://www.bio.vu.nl/home/rgaros/
-
- or directly at:
-
- http://www.bio.vu.nl/home/rgaros/gestalt/
-
- Both pages are still under construction. The GSL is converted from
- setext to html using a Perl script, corrected and adapted by
- Hans Verbrugge.
-
- Contact: Rene G.A. Ros (rgaros@bio.vu.nl)
- HTML : Hans Verbrugge (hverbrug@inter.nl.net)
-
- Northwestern University
- The GSL is also available for World Wide Web users together with other
- Macintosh FAQs at:
-
- http://www.astro.nwu.edu/lentz/mac/faqs/source/gestalt.html
-
- Contact: Robert Lentz (lentz@annie.astro.nwu.edu)
-
- **AMERICA ONLINE (AOL)**
-
- You can find the GSL on AOL in the "MDV/Documents and Proposals" directory.
-
- Contact: Jonathan Kleid (SonOfaBitS@aol.com)
-
- **APPLELINK**
-
- The GSL will become available on AppleLink soon. Location is yet unknown.
-
- **COMPUSERVE**
-
- Starting with version 2.0 this list is uploaded to the Macintosh Developers
- Forum (MACDEV). Only new minor and major versions will be uploaded once. It
- then appears in the Forum Business/Help (1) or Tools/Debuggers (13) section
- (the Forum Sysops seem to disagree on where it belongs...)
-
- **GENERAL**
-
- CD-ROM or BBS
- Because of permissions I granted you may get this list from a CD-ROM or via
- a BBS from Internet, CompuServe or a CD-ROM. If you do, and the release was
- more than two months ago, there is probably already a newer version.
- You can find the GSL on these CD-ROM titles:
-
- Apprentice CD-ROM (Celestin Company)
- BBS in a BOX CD-ROM (Arizona Macintosh Users Group)
- Bookmark CD (Apple Computer, Inc.)
- Developer CD Series, Tool Chest (Apple Computer, Inc.)
- Info-Mac CD-ROM (Pacific HiTech, Inc.)
- The Right Stuffed CD-ROM (Quantum Leap Technologies, Inc.)
-
- MAILING LIST
- Every person on the mailing list automatically receives an update by email
- whenever there are some changes. If you want to subscribe or unsubscribe to
- this mailing list you need to send an email to this address:
- gestalt-selectors-list-request@bio.vu.nl
- Then put in the subject line either 'subscribe' or 'unsubscribe'.
-
- The mailing list is moderated, which means everybody can email to:
- gestalt-selectors-list@bio.vu.nl
- But only after approval of the moderator the other subscribers will receive
- your posting. This guarantees that no confidential contribution is
- distributed before the moderator sees it.
- If mail to you bounces four times you're automatically unsubscribed.
-
- This service is only possible to those who have an account on Internet or
- any other network reachable from Internet (CompuServe, AOL, AppleLink,
- Fidonet). I can not provide mailing of printed versions or on disk by
- normal surface mail.
-
- MAIL ARCHIVE SERVER
- You can retrieve the latest versions of this list and other software
- by sending an email to this address:
- gestalt-selectors-list-request@bio.vu.nl
- In the subject line you need to enter 'archive' and then put one command
- behind it or only 'archive' in the subject line with one of more commands
- in the body of your email preceded by the keyword 'archive'. These commands
- can be:
- help to get some help on using the archive server
- ls <dir> to list the contents of the specified directory
- get <dir>/<file> to have the specified file sent to you by email.
- To obtain the abstracts of all files available you can use this command:
- archive get ABSTRACTS
-
- Your actions may be logged.
-
- PRINTED
- If you want this list printed on paper you may want to try a feature
- included with the LaserWriter 8 software. With it you can print four
- pages on a single sheet of paper. When you set the page breaks correct,
- this produces a very neat, little booklet.
-
- Acknowledgements
- ----------------
- I want to thank the following persons for their contributions and
- support of this list:
-
- ===========================================================================
- Name Internet Email Address
- ---------------------------------------------------------------------------
- Anonymous contributor(s) anonymous@secret.cia
- Lonnie R. Abelbeck abelbeck@dev.abelbeck.com
- Daniel Azuma dazuma@cco.caltech.edu
- J.D. Sterling Babcock jdsb@ee.duke.edu
- John W. Baxter jwbaxter@pt.olympus.net
- Martin Bestmann kruemel@theorie3.physik.uni-erlangen.de
- Mason L. Bliss mason@cis.umassd.edu
- Scott Bronson urge@mcl.mcl.ucsb.edu
- Jim Browne jbrowne@ncsa.uiuc.edu
- Richard Buckle richardb@cocytus.demon.co.uk
- Ivan M Cavero Belaunde ivanski@world.std.com
- John Champion denali@metronet.com
- Mike Cohen isis@netcom.com
- Marc Cooperman coopem@panix.com
- Mark Dawson marc@apple.com
- Lawrence D'Oliveiro ldo@waikato.ac.nz
- Alex Dosher (Developer CD Leader), Apple Computer, Inc.
- Alex_Dosher@quickmail.apple.com
- Dave Falkenburg, Apple Computer Inc. falken@apple.com
- Andy Fyfe andy@bandr.vip.best.com
- Rick Gansler gansler@boardwalk.tiac.net
- M. David Greenspon gremicf@yalevm.ycc.yale.edu
- C.K. Haun haun@apple.com
- Michael Hecht Michael_Hecht@mac.sas.com
- Robert Hess robert_hess@macweek.ziff.com
- Bill Hofmann wdh@netcom.com
- Mark B. Johnson mjohnson@apple.com
- Jonathan Kleid SonOfaBitS@aol.com
- Rich Kubota, Apple Computer Inc. Rich_Kubota@quickmail.apple.com
- Roy Leban, Akimbo Systems RoyLeban@akimbo.com
- David B. Lamkins dblamkins@aol.com
- Robert Lentz lentz@annie.astro.nwu.edu
- David Lewis lewis@netcom.com
- Spencer Low spencerl@crl.com
- John Mancino, Decision Maker's Software mancino@decismkr.com
- Roland Mansson roland.mansson@ldc.lu.se
- Matsubayashi Kohji matubays@ics.es.osaka-u.ac.jp
- Duane Murphy, Novell Inc. damurphy@wc.novell.com
- Mark Nagata nagata@kurims.kyoto-u.ac.jp
- Fabrizio Oddone gspnx@di.unito.it
- Carl R. Osterwald cro@br213mail.nrel.gov
- Marco Piovanelli piovanel@ghost.dsi.unimi.it
- Kees Pols kpols@bio.vu.nl
- Francois Pottier pottier@clipper.ens.fr
- Ken Prehoda kenp@nmrfam.wisc.edu
- Jon Pugh jonpugh@netcom.com
- Quinn "The Eskimo!" quinn@cs.uwa.edu.au
- Dave Radcliffe, Apple Computer Inc. radcliff@apple.com
- Eric-Paul Rebel eprebel@knoware.nl
- Thomas Reed reed@telesphere.wustl.edu
- Pete Resnick resnick@cogsci.uiuc.edu
- Paul Reznick PRzeznik@aol.com
- Alex Rosenberg, Apple Computer Inc. alexr@apple.com
- Leonard Rosenthol leonardr@netcom.com
- Jeremy Roussak jeremyr@dcs.qmw.ac.uk
- Ray Sanders 72511.232@CompuServe.COM
- Eric Schlegel, Microsoft Corporation ericsc@microsoft.com
- Marc Schrier schrier@garnet.berkeley.edu
- Mark Simmons 72511.256@CompuServe.COM
- Patrick Stadelmann Patrick.Stadelmann@etudiants.unine.ch
- Brian Stern Jaeger@fquest.com
- Zalman Stern zalman@adobe.com
- Tim Swihart tim_swihart@quickmail.apple.com
- Ilan Szekely ILANS@ds.huji.ac.il
- Victor Tan victort@extro.ucc.su.oz.au
- Rodrigo Torres, Berkeley Systems brklysystm@aol.com
- John Tsombakos johnts@iii.net
- Hans Verbrugge hverbrug@inter.nl.net
- John Watte h+@metrowerks.com
- Jos van Wezel wezel@bio.vu.nl
- Jonathan Wilson toast@diss.hyphen.com
- Chris Wysocki wysocki@netcom.com
- ---------------------------------------------------------------------------
-
- And the members of the Computer Department of the Biology Faculty at the
- Vrije Universeit in Amsterdam, The Netherlands for their help and support.
- Also special thanks to Marco Piovanelli for his support and comments about
- preliminary versions and updates.
-
- The persons mentioned above provided information used in this list. They
- did this on personal title, NOT on behalf of their employer, unless
- explicitly stated otherwise.
- I assume information you mail to me about Gestalt selectors may be used in
- this list. Information made available to the general public (e.g. a posting
- to a USENET newsgroup) is also included and the persons name added to this
- section (and to the mailing list).
- I will mail you back to thank you and include the parts from the list which
- were changed, according to the information you provided, to let you check
- them.
-
- Legal Stuff
- -----------
- (c) 1992-1995, Rene G.A. Ros
-
- **NOTICE OF LIABILITY**
- The information in this list is distributed on an "AS IS" basis, without
- warranty. While every precaution has been taken in the preparation of this
- list, neither the editor nor any contributor nor any publisher, providing
- this list on any type of media, shall have any liability to any person or
- entity with respect to any liability, loss, or damage caused or alleged to
- be caused directly or indirectly by the information contained in this list
- or by the computer software and hardware products described herein.
- In addition it should be noted explicitly this list is NOT a product of
- Apple Computer Inc., like any other publisher, NOR are they responsible for
- any problems you may encounter in its use. Apple Computer Inc. distributes
- this list on a "AS-IS" basis.
-
- **TRADEMARKS**
- Throughout this list trademarked names are used. Rather than put a
- trademark symbol in every occurrence of a trademarked name, I state I am
- using the names only in an editorial fashion and to the benefit of the
- trademark owner with no intention of infringement of the trademark.
-
- **USE AND DISTRIBUTION**
- The information in this list may be used freely, but is NOT public domain.
- When you use the information in this list for COMMERCIAL purposes, you may
- consider sending the editor a donation to help pay in the costs.
-
- It is not allowed to use excerpts of this list with your documentation, or
- in any other way, without giving proper credit by using this line:
- "This documentation lists information provided by the Gestalt Selectors
- List, edited and maintained by Rene G.A. Ros (Internet: rgaros@bio.vu.nl)"
- If you use excerpts you are advised to subscribe to the mailing list to be
- notified about errors and the latest news.
-
- The GSL may not be distributed outside any computer network (for example,
- but not limited to, printed, on disk or CD-ROM) unless you have contacted
- the editor, prior to publication, and received permission to do so. This is
- mainly to ensure you have the latest version. The updates may not be
- distributed, these are ONLY for the persons on the mailing list.
-
- Permission for distribution of the full list is granted to:
- Aladdin Systems (InstallerMaker software)
- Apple Computer, Inc. (Developer CD Series, Bookmark CD)
- Arizona Macintosh Users Group (BBS in a BOX CD-ROM)
- Celestin Company (Apprentice CD-ROM)
- Club Macintosh de Quebec
- CP Shareware
- IDG Communications Nederland (MacWorld CD-ROM)
- Pacific HiTech, Inc. (Info-Mac CD-ROM, Umich CD-ROM)
- Quantum Leap Technologies, Inc. (The Right Stuffed CD-ROM)
-
- Distribution of modified versions of this list, including, but not limited
- to, deleting, adding or moving text or adding non-text parts, is not
- allowed. Distribution in any electronical format except a normal (or
- compressed) text file is not allowed without permission.
- You are not allowed to redistribute the GSL with any other name than
- 'gestalt-selectors-XX.YYY' or 'Gestalt Selectors List X.X' for a plain
- text file format (where XX or X.X is the version number and YYY the suffix
- to indicate compression etc.), unless because of technical reasons. In such
- case a name should be chosen which resambles it as closely as possible to
- avoid possible confusion.
-
- Editor's Address
- ----------------
- Rene G.A. Ros
- student Computer Science (fulltime),
- Hogeschool van Amsterdam (Institute of Technology)
- currectly at Compuware Computing in Amsterdam (formerly known as
- Uniface B.V.) for industrial training.
- consultant to the Computer Department,
- Biology Faculty, Vrije Universiteit Amsterdam
- contract programmer Pascal and C, also 4th Dimension and other data-bases
-
- D.C. van Krimpenstraat 3
- 1067 SG Amsterdam-Geuzenveld
- The Netherlands, Europe
-
-
- Internet : rgaros@bio.vu.nl (preferred)
- rener@uniface.nl
- rgaros@nikhefk.nikhef.nl
- rgaros@htsa.hva.nl (till september 1995)
- rgaros@dds.nl
- CompuServe: >INTERNET: rgaros@bio.vu.nl
- 100112,1363
-
- Mailing list:
- Internet contributions:
- gestalt-selectors-list@bio.vu.nl
-
- to subscribe/unsubscribe and for the archive server:
- gestalt-selectors-list-request@bio.vu.nl
-
- CompuServe contributions:
- >INTERNET: gestalt-selectors-list@bio.vu.nl
-
- to subscribe/unsubscribe and for the archive server:
- >INTERNET: gestalt-selectors-list-request@bio.vu.nl
-
- Please contact me at the INTERNET address. I read my mail there almost
- daily, while I log on to CompuServe only once or twice a month.
-